From 8ab46f87ab196178e8dbb1a051d7e446b3d4f2fd Mon Sep 17 00:00:00 2001 From: Christian Benincasa Date: Sun, 3 Aug 2025 09:23:05 -0400 Subject: [PATCH 01/13] feat: add separate macOS binary for detecting videotoolbox hardware capabilities --- .../project.pbxproj | 298 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 32690 bytes .../xcschemes/xcschememanagement.plist | 14 + .../FfmpegCapabilities/main.swift | 134 ++++++++ 5 files changed, 453 insertions(+) create mode 100644 macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.pbxproj create mode 100644 macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/xcuserdata/christianbenincasa.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/xcuserdata/christianbenincasa.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 macos/FfmpegCapabilities/FfmpegCapabilities/main.swift diff --git a/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.pbxproj b/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.pbxproj new file mode 100644 index 000000000..cca15dd74 --- /dev/null +++ b/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.pbxproj @@ -0,0 +1,298 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXCopyFilesBuildPhase section */ + 14F96BF72E3E85CE00B5BB70 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 14F96BF92E3E85CE00B5BB70 /* FfmpegCapabilities */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FfmpegCapabilities; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 14F96BFB2E3E85CE00B5BB70 /* FfmpegCapabilities */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = FfmpegCapabilities; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 14F96BF62E3E85CE00B5BB70 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 14F96BF02E3E85CE00B5BB70 = { + isa = PBXGroup; + children = ( + 14F96BFB2E3E85CE00B5BB70 /* FfmpegCapabilities */, + 14F96BFA2E3E85CE00B5BB70 /* Products */, + ); + sourceTree = ""; + }; + 14F96BFA2E3E85CE00B5BB70 /* Products */ = { + isa = PBXGroup; + children = ( + 14F96BF92E3E85CE00B5BB70 /* FfmpegCapabilities */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 14F96BF82E3E85CE00B5BB70 /* FfmpegCapabilities */ = { + isa = PBXNativeTarget; + buildConfigurationList = 14F96C002E3E85CE00B5BB70 /* Build configuration list for PBXNativeTarget "FfmpegCapabilities" */; + buildPhases = ( + 14F96BF52E3E85CE00B5BB70 /* Sources */, + 14F96BF62E3E85CE00B5BB70 /* Frameworks */, + 14F96BF72E3E85CE00B5BB70 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 14F96BFB2E3E85CE00B5BB70 /* FfmpegCapabilities */, + ); + name = FfmpegCapabilities; + packageProductDependencies = ( + ); + productName = FfmpegCapabilities; + productReference = 14F96BF92E3E85CE00B5BB70 /* FfmpegCapabilities */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 14F96BF12E3E85CE00B5BB70 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1640; + LastUpgradeCheck = 1640; + TargetAttributes = { + 14F96BF82E3E85CE00B5BB70 = { + CreatedOnToolsVersion = 16.4; + }; + }; + }; + buildConfigurationList = 14F96BF42E3E85CE00B5BB70 /* Build configuration list for PBXProject "FfmpegCapabilities" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 14F96BF02E3E85CE00B5BB70; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 14F96BFA2E3E85CE00B5BB70 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 14F96BF82E3E85CE00B5BB70 /* FfmpegCapabilities */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 14F96BF52E3E85CE00B5BB70 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 14F96BFE2E3E85CE00B5BB70 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = XX35C4MZN8; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 15.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 14F96BFF2E3E85CE00B5BB70 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = XX35C4MZN8; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 15.5; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + }; + name = Release; + }; + 14F96C012E3E85CE00B5BB70 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = XX35C4MZN8; + ENABLE_HARDENED_RUNTIME = YES; + MACOSX_DEPLOYMENT_TARGET = 13.5; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 14F96C022E3E85CE00B5BB70 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = XX35C4MZN8; + ENABLE_HARDENED_RUNTIME = YES; + MACOSX_DEPLOYMENT_TARGET = 13.5; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 14F96BF42E3E85CE00B5BB70 /* Build configuration list for PBXProject "FfmpegCapabilities" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 14F96BFE2E3E85CE00B5BB70 /* Debug */, + 14F96BFF2E3E85CE00B5BB70 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 14F96C002E3E85CE00B5BB70 /* Build configuration list for PBXNativeTarget "FfmpegCapabilities" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 14F96C012E3E85CE00B5BB70 /* Debug */, + 14F96C022E3E85CE00B5BB70 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 14F96BF12E3E85CE00B5BB70 /* Project object */; +} diff --git a/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/xcuserdata/christianbenincasa.xcuserdatad/UserInterfaceState.xcuserstate b/macos/FfmpegCapabilities/FfmpegCapabilities.xcodeproj/project.xcworkspace/xcuserdata/christianbenincasa.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..b8acd7409870bc652c649efb566026d21db77c7b GIT binary patch literal 32690 zcmeHw2Ygdy_y6 z$Py3`2fPZ3C<@9_5f_RA3Mh)Wh5xxXO`*1q-~03ReShy?_@qhhJ@?t)^PF>@b55!o zEoQqzsXT@-q7aQ3#3ByysCV(m>4qk|+15}pQrA>dYld(6BOSKJ;*qxMIzx@aJ`mw~ ztF*EKQ}QMoS`7Nc4x+=z4fQI>bLbof0dIDvs!$))7Y#$h(FhccVo)rKL-8m9C88vh zj5H_(rJ^*Hjxx|BRDjA*IjTlRWJ2}Gf*R2@)QqO1S!g!85eeuPbSqkb?nX<|J!lzv z5VfK<^bFdGcAt%&aTr$Na2$anaSTqz8k~Z&@D!Yl zOK>SJ!{xXN>#+q}aRZ))o3I_v#&hs(coANVm*RWy{dhTk9B;+j@OJzJ-hrRQPvNKW zGk7O{4)4P+;g|6td>9|WC-6J?U3?m!!DsQO_yYbCe}#X*KT?CJ!PF3HC^d{4PK}^E zC{N0Z@}~T$vD7$fJT-v|rNSr`6-&iY@l*yiiJDAhQaMyURX`O|m6Vp6LCvIEs9Dr( zY7TV+HJ7@P5-395O5H)-NiC!9rS791rdCm{)COuJ^%%8@+Dh%9o}`|mc2mcxx2Y4< zJJh?>d(`{X2h>UGL+T^yG3Q@W^b-0m`a$|3`eAw%-AcF7Yv}d#R(cz~o!&+NgMOBNj^0hbNbjd#rC+0u(QnXi z(kJMX^vCoW`b+vN`V##${R90YeU+gYH>MZUk8x*)F~b>8CYT9fLYXi|#e_2vOeCXb zqL^qVhKXh3n0O|ENoKN{9442U%H%QmOaW8Klru)g#MClorjBti&CGOW7BiPw#4Ki( zFn2L`GfSC!nEROfnT^b2%qC_tvxRw_*~)BVwlhyK`AY#^&( zL)cI@jE!Mq**G?lO=2gpli5tx$eP$%*38zi^{j=pvJI?_ZDgmhO{|@Du(R0NtiayJ z-p<~^-pMXv7qiRR73>4-!|Y~u3;Q^`mEFc}XP;nqu)Enk?DOmk?91$N_G9)F_8j{q z`xW~Q`vdzUdzC{R!?9d1t{>N*8^jIchI1o0Z*DXf$SJr`E`p2XVz^i?j!WWFxil`F ztKxKAHCMywIRj_pOk6Ez=IXcxu9>@mo6FtE&F2TS{ zZI%r{p2!P%BOm08{E$BiKyow^jY6Z*7&I1*6Ig*0c)?BRCG-~h2z`ZqLVsa^AQRk$ zfx;m1@d;=m3PcJNgp?>4UZE%qso+WkibQH*urP+;2?PfUPYJOEE5$#-1cwovEM3nd zIA6#Y3beA}Qw=rHixj=tVQX^rsbFfRT`Tj@7>v4ROUFHFFR-WDnw&Si6Kfo>o8&av z#BC(c;K6 zwwN6)TG=S0t*OS4)NHosp`JvG<$6MUhH;9)pf~7YvvRew$lRc}&48v3N@>tlTMYTN zO$MDlO=qzfnxH%n=l#T{CS8LG8q(m<7^<6184X68R^|?EO13pP3^N_hA%J2AJDc6L zwOZM*U-os1&T4>OLQC=t7U+jT-`Nsnrq1q2wpkl32DqFfZoYO0)a)FJB%K}hSaIZ_ z!&427wkB9VgOi}u^^G=jgTpS}gH2a|L|UhlQT|$#iL%fXl#OywE}Dw+gdxIk!9(y8 zd;~usKo}{EK8gxqO&6hJRDw#yRb36$l)-zG!2$z5-5?-gm@rf;vlz`5LsU>uP=Os9 z7F1K)1dTK68mbKq=7t)bT^E#W(;I>sos()0ax^#Snwo;Fx*D53DAj0fG?S#{s?0(o#(pi*pT8$7sM(h?U?pQ(PGx z7ah7Llfe-?GcsHo9u^1-&jPDm#9VMF&^T;1OHD1n${t%|vnr(93cW+od0ipRW(Tvr z9z=B#?mYoSXS;z&qidQ0NQFh5-_mHX|EI#H+1?ZctjW?0Y{}Ku|1$^}6{7s>IZF;; z8a9w?4Cem=4*!~w5*L%jR-?1HmQ=^k{FlPtCc)nu;2+fu{)J|}!Ilr4rP?-AQJAkW z0BdP%GT22^L7wyNKb0l?`cB%VQ=Qvm=Vsb-H~&Iz(p+0@nAu`&a?CK)wdiN)YNt66EEhJzK zoosd}x|$9ZIR=x?-fX{SchSnC{s8?HTSF?CVw}R=^$$llAC~@xf`vgcH#Rqlrn6sG z-G#>0p?lGC6x9YswEMwuHn9z@Ko1BCp-?Eeo*k@`CL-`JXGl(KbUWIFqSm9;=n=FA zJ&M+%b!a`>fHtDXgdjmF1PdWTs1PQogm583h+L00gS}V$zYT3iPr&<=VDVK8vC{uI zAzR3SPq|L>uE({Zbk38)E?F!=%-71iy5Fp|&B!u0n60`-t<1m2+oCBg*#_r`U}MwD ze0!wHXqYaVbu9+4sdg{LqHD1=J5pwXX-!l&fJWZEl$s`+#Uk096*i;MZU8%J_maTs z*GXkDH$Z!O?owj2qt@006?MNYq9WC1(VH7gU@-31ju}n5#!M*L?zG3gi1J&}J|RjN z?fkwU<*!DspjXA05G}+=uhFs`SuZ!&`a6o=L_^!qG4zHIFC?^~x6pARQAiWd6TrZ3 zap;`$lG$}ov@$=iG`5KQPlJA{!4774`!7gb6}*Q|iWR(%J`j?GYJv(Tb)w(9d471)*tCfxJMgYds zE`7{{LkO6~px+?Ox3y@@cJV>cIxEhgfsQDeo6Y*_7Kg!} zEtAct{3dc^e#(arE_v_F`*~glAxr8rMi>`@DY_s-(}oe!9l^`y6Qmjul1=KE3ET_!g_*#;aUWr-kk^JjLLb6BXoS=PBdjp{FXp3{ zvjv0k5IDb>l9$!&5RWjf4SzcxeBA`#VK@Mo1Rjn@U=Qqxy|6d-!M@lJ`wK-vu}~tE z3S~mMP$5(bTA^w^mOGgQ9)ri?aY%_L0F%&lFbRXuB-r7z<8LM*oqH+l!1w+vCV|z! zByf~a-N7VqEHDWihvUVUP$TH2*J#;rnTKoPq~Z*5;iTbo!6=y8@FYB0s1+JSQ2j0& z_)RwAsvrmF1A1{To{IAXvrs40x8nj_h%N~h!3qe5ivDHb{9VRy1Xlp)D!YSjLFmEZ zKWt1o_#}^(e4(c|18A`hNUOV(&hInnv5a+@7w&1aZyFO@su!|cT{qxbacqsi9&NxL zu^HD1jl#5U?9siSpTrWeO=5}i1cejdGR{?!1J7{6dpf|oxeeE0Gn4}-!@mHwi~a_D zGm3fy&&4-l0gmsc3NwTjVKyAx1w4Xp!MEahcs^br+#oz4>=cd*-*%Bm@ST!GG81eK ze;mP?&T!ok?BDv8c-|}t{@oA2@ZA!KW&w!)J^*u`JO8yuz<YWeZmH0vY5Plf1 z!mYRsx8v2qT;WDR5QuP-aICijZqwRPj=$)HD?_AKKcisWUsr%vc z^1t=Ye}Ue)OVm66AuM$1ox4T7a}R!Ad;N z+VDaAny^^7`%g1Y;iFixetm%75R!!@U=qQ{!6b55H=Su9qE33bTJ;|OP}El6#~SilsPVrSPEeknpguN@x|@gmz)I@W^_~%?VJdFV#=<9;Rdf&@~+Z-5@+E zdJGFs{|(STAE1;E0F?3-9_;`q6#xLG)^Fs7%lUcxy!seW|x{s1;J{d z0x5;CQFyG4Qc}UfCgJfv4WU#xrG^U72UH{=bTceBDjE>Fr5i%sd;RQcQv#&{d{T*2 z5|u1$6}Ac60iRSVl?M2HLfG+d#wV4922fMFgRa-uX8Rl8Pr9dd_u~`pzAw2N@JZzY z>D2C|56AiERt%iddt3P0v%{8O^Z;w`a~C_zLC7@p}T`pmBnoQuASst24> zI;xtgq4bo2GEye0mNHXy!Y<(-!n4A2!fs)Y@VxMXuvd6-J!R>@X(KgF!l?srx~~JL z`-L|ooWA)tPX7fsy-CFB&B9AAoX!(*Iv)jzFX3evc=0t_Ho!Hri>SLqj4q~@2(JjQ zwo!LeON9f%>wg|b@24IRD_9OT%!6RVq*lTa&uf6vUs@jB`7N$CwNYzCjJ8v&sYirE z!eQY^JM}1_be(V%PNp>K%@T?vEsTDM_y zjoBXRfQZoNsTZid)Qi+U>Lu!BYCrV~^{Vi;a6))TcvpB&cwhKHI4OK6e6*fA*n!Z) z)Dh|^?4)l1LQi!d^o(#x_!>T6{u`nH0)(Ct5&E(4u?wMRM1-EDJ{4cWC&FpzHQF8b zmBqRy_ab#k#L$=2SHfB0(>CgB>ay^eaN*Ab=?~P;Vg)|}NY9BNy#gRT-xEmFOdV~a z8QKj%O0zUa^TOxC7s5r@Na@~mAAsnW!dL(1jg)pr1L%R>k#|Q`LvwaQ_V^WC(D{Us zo5ZtJdI*pX?N0ife%YYrx3ibrxy6)QWJ1q*$ zTDpqX5!{F1z6AGcr)y|Ex%3OBKf z&zaMeC#T6U-E3>N=SyK-&TGkHSg}?%rU!DZ^ID$S1VNZ4Cwb2WyMj$!;jftx%Od*f zK*6Jbz2NJcp_L7E5?+7N)%|vQHHuobN+^)d!Rbdu)UGAqUo!d_y@B3HKL!hH6TO+< zLO)*8=|xuJFk2zAS7&W3bGaKqU?;&N36>KaK=8P~b}r?KFZm{Y{=~bHu3kMsKL!4O z^bYz-f=3ZNx{ZFCeuiL(j~*)&6gr2y&^a7Ejt*Sx9{DP{?$CSa=e08LE+hZTscENQ zp!Xu(?~#EAkOsn2T>e@e^XlrtKKdo+#2khhc!l7J&gu`)2f=q~3WT+{(Fc&rgOh%p zK8%L8(uW9Ew9-ci4iZu;z*SR>S9=6cA@Us~0!fekRWmEj1E`?VU-0H!z7hv{1aHQ1#|Bsg9xiwsq#q(o@c%D`Y% zusTqc9H9)1jED>lOpOeVNKOq+4GE42*E-`(oo`xakg2m({h0w$=9doFGw14PXZkZT zDJt9f-PP8C%wVytg9uJ+Wrh%(B)0XRZ-6*v%n165I992P6!x27tXx%jF{9DYb&NOT z!}v0Oj6V~=$eEE0pjSh13c;xagEWy&a0bDX2%b!E<~pQi#v&y%o|(W*WC9rlsABm9 zXNf``h!`N>GJF@Vpd6y2?r4ZZ$yhP}uP zvGfoZr7SXk~Tg~9* zSknZ#1PYzgSRlP=WdZu>4!zXoKq;g#Pz>N}b{LwXq_4F$yQ9!K*QL$}#dzb&EL}~K z%~lU?)WNEW!4jWm66sT`0L8As*Dx8d2{I{6DwD>*7#9!>!dDT&#jBY~%w#5$$s!nJ zuu_7{2rd^_!BD_e*Q5sdW`{Vo!@J!mbY>&!=~lKBzYimrydz8rYho%oP)Un=naNQ=eyO)HUhAzf~(6 z_uJIYItq1`W<#!@Yg+0VTMtcU8kuQK6TvkE>j^dp1@ia~J7o>>8$}_%Bg_mKjhRe~ z$eZ*K=%4LQvDL0@QJ4Y_#PR=pmMFJg`As&PL%{3%^c^(V%X`%5i9sEiR{HfHAafrG z$sIbnx-17I$yxy67k5C^#r^1E2nW~-Uj94KQ;;HS z7bL|x0M@N{(J6EueSyA&Q?b5~^2!U3!V_^2B)EzN*U>C+@-*Q(XZI=aYL@xxmUZk;_Q`uz!~SHG4TcOW24sg>GN2}yFCA(@e(=`; ze?w3dWa0_+3qm=_<$cO5XWCHIT4n|F0JD;Lka>uCm|4ZN5)A4Uz}8N%gWzU@rxQGb z;F)V-2V0HQqFIq?g&l3ZxP7(2mIbjLa9iBbW{HD11iJ3bIFn&d1^F)zb_hd5W#?5X z_#fhQ;6l32o@F)x<1y$Zj$%)3vRS9(K}Z3xBGKVoim?zU+R2lh#pdg(lXOiPb}2iL zID{f6y#7{^&ULTI?5NEHsS>j9=&B(g1PCRTY3R(91lO;*>T6{qt`#N5pLeMyPQ2&J zu+;TAb#Q91CRiC37!eT?3Q3kCHGxS&|pNu3N9>fkV?UwEh=yea+E z@Dl$AheyI6Wr(Vio9a$3Bfn5 zg{j!XJkPwq>}6hrsd-79h?@y+Cm5E+T7uV!)3Z^W85wjS51h%T=%$-ZPHrz=>in7r zseT~$5L_y7h*^&yM6Spg93hfrG}s#LlxYvV&|;mceRkYDsI-HP%XLR!j!i zQC!t_7Ai{oPTfW<%7x)0%v<8#ev~=JyurLl@GS%bisunLe>HQQd7C-GyhAVm_a1_m z5q!VcAwNmIQ9yBGtXF4i6rHmKy>aQKop(X1OcNs~oi{pSd^!u7Vsn6~WtYm6K6XCm zYUfAH8L^$Gn2(uHn9~F=Bp7T3w-bEFYUV8SDf1a~mf$-HUPSO>_#n1(Fhq}m^dqh2 zq!v+}l0<%YQ7z~!U%U)EK|uqA+x0*^+*yV}Uy#wY99O%(V!(zB8ZsDzMA4>8xp_92 zP7qC8wBIt{gBr$w-ms*V`GH{YdH9W|j=(N`g}KTiaOa1RBoUZ7VoFEI5d~QpK**64 zeS((~e0R1xj{e0KJ{T+}GB7bX5@9Q~gBB!mzY;TK9FjUx;Z)ZR`V6>YuXKh@<=E`7 z{%j4QAb}qod3*T{tNDJifk)hW_3oQ5W)v!sQv0MsR;t!MJ?cF&bOiSw(6`bsvr#8S za!GZG#icF^Y`h&xa_`&Lrwf3R($=o^wt`F_o-lxwn5KLXUqS{7ywRw1U9^lA# zk90EPHg6w!!Zhb+dBVc6(kD0fk&2kf`6ZP#R@*J}ZeP*9cEgsZckbT%`jI!@Kl9lo zCpC6$e7?@_oqvClc0HD68Q^LuGaD^VHkjS)5aXi?&4wAy9GK!1bgYARmSs6niT{K2 zT3NL=-;tJF7#t2-{k1w^#fOAn`+8lKQVyPoj_S09dD_t6Yjo1E<^e-#FkMTsru_rZ z>{yCyFSak3K-k`FAA;{C_`WuPI-nm=K3{~+s7_>dfw+WV1&A_`(g_l^!LIyUbQyMg zv%&7FaS%Hk0L%_%hp+b=W4FUjzDENB-ZUX=Z{Q|&4AUoUt2EeIvM7#3fsn|$yO^34)1V2LX8n8XHQKHrQQE@SiX@&%MV23ptnwo&? zxwchlNp}XGW@td!^zTBM3~bW`+w1i-l0wPGJGJD_Zn@f#%%+O%(6C^aSWobVHc@z! z4wj%9Lqt))p50(+$%G7l27MCf=JimiZ}HU5I~_UZM6s-MPjwZZ#g?F`4eS&)o6TW! z*{N(Eo6i=og=`U9Oz>j_Zz6az!CMG^oZzhlZzFg+!A}spgWxAOu%#%7EoUp(N>9KP5ax@Y4i8L-0<5Um}#6Pzi)8CsYNYv_b(`31*tDpj3e#1LL8UjZZQ_ z$~%bqwSo$3w%Zz{eN@aL*dZS}B@O59I-p}$6qR*R{4Txzrn^gI$paPCAu?MSq-%1D zbXBSp21(x71aZhP7t)E8lPQCFugiuAc2n4gJ0d@%vYnEXUq_`7Hft7@KCw2?*2UtS zQMAB4T~dpye1lFRlOkkuVE+S>j)JdcaqL>VU4}}t8x0K^4Irw*7uU2kvopX{#!e@A zS1UV{fKMi@1$WpAI(sec!_I{@hd$ND-oS#u3G(OOYeou|u(yJ}l)Z_)nFTrRIf8c+ zyr-R=htw>HXwQo>=nG)lg<`Mm3gzNAmt+nc1-^=doTY=a1qb9%E9n#q8ZM9NXgzu@Qb2^yHDhR1Ec|m{C*&Kii0grn6X)7@17o3I(ex2Y$gc>M*0LQdgp`hzB za?TlyI%p{!i*%6lS~>_#0ARQXNUP{r1|aqYhfXLHM}0C#HIiiL4G3(u=tUgnfC@F$ zFb(!EF>|M6Qj*cG$$XOC35FN;DfVd=0CSk&BLp99XLq3>QN=wbVo6eL2a0PT(cV$N zG{GzK6nI5-N;zG|)miE_wWm`qa?amrl;6&tVb8MA zxwi>^m*Dq>(MQ?y>;>rEA>hLoORv>hAhkyv1z0@qT)(}Faro>d_G`#g05H2Ih&l~Q z(qlO~b5k38SrkWqlg3r~w_@c4zbDnzqa5#|{K-lA!EaDXXMh_y%u%SA;13D@NC1uH zuTLw>aU7WRdO9;}FE~eSX^(e57)P}5!kzPND2Og;E%O3{jXg9JEL}3pbb>qLqz>h0$eYURxzy z5!=QM6-VL^)5D-OHdjL$Txa^;K)aM6_kWu0#o1C1&J$E}XlWOwEb^x|&P!}nkN3JU zJBh8rs~5^e%Fk>E=NUvT03 zJi%XSWzJ~P>ns{#vpV1nA`IjhhT*+-O~N-91pJv(a=`?DPVmJ}Xmeps%zV*-nL#}y z?CpRTr*@KlDUp_RX8j#><5lOsqfT%kg9t7G^drF5^*L$`QZ(BLfUs+toEeP83?~1p z96KF59hbr7gIg6hiJQ!2a#`FIE}P5Ya=EEo9>L!c{5`=x5d0&-KN0*h!B+^rN+?7q zyq+s?IznLKojTLGjG zbSLc|_v7mSLtLxmNyV)KPby0G>jMT{x(6QPWKwHE_U6_RY7ofYN4Sm9hR3)~V05f$ z1})f?hf_X$zdbP8{T@*)&SZNPQIyGw7})7&#I>5WjH zgc|B%x*$|JTLR9PL^<0tZBEF134D?}!z`t<<=Ul()3*m069$%pe1&J)irvZSQoxABppFex5~ zcE2f_DmoN?t@CadF_DkvW3F+mctS<}l4J2nz_IvbUc;vlDwYQ^IDgi(&LcS(e+y%Qog>S zT}Y(TMT>^3tu6d)FtqWr2sOEtpF^n3-!QcC0vOtO!rw%wEJA@dn9Jjdzm;FugXN3A z4XJsMMW%qEjmj2MJ4Y1^UaKU7m#Y7)JYjxSmjWK- z*T88s{}BH$zlv|=+xT{VHU9{q;K2ey6%wk5P{o8QAyg@$%D_oL`Y*W&h@YHWkkd;* z`V7`a(IKhRM4<;8v)yJfh~~PEEWys-%W)ZaMMr@isYTZaFcVoDyV8&UHTs+kO+MU{ zevHRe_{3i$&N4W3dazM-B^UM8p4$Qw-<9-No1NEOZI^y;r7L~VuN4jcaN@D4Xw&NY z#ILr!^Pr$hR|j?&mqh^P+azcm<)7hq!r|^xs({}GR^Tal9abDiturkn*t)K}CIN>~ zl}^_8EdLz*j8EqSZTxO96kK<~wE~~#UvN4IgKN1*bmpjj0;Ro}< zdHGqICx3*0hd)F>^)=M^2OqeJ08dN&SG{`)tevox&`_L^z zw+`JtbjPq!!$O9I4GSL@Iby?zr$#(8V%LagJtlgnJYqePJhD9sJ&HX_J<2_5JPaNt zk2(*F$4Za4JqLOEd5-cN<2lY#;i>ct@eK1!^i1|l@l5mF;rW8+anBQ;?|Q!PdD8PE z&yPJ%d!F_D%=5e#_M*L5FW#${S0Ar_UIV<`y#{#=@fzk8=9T9)!)v+MKfF$P^WLMq zQ@pFa>%AMi8@-#nXM5k`J7(=s^@;I`^@;aM_bKox^)dN0_%!-7`8a%L``qAj zqYv@9*=M!SL7%I>ZoclmKEA=ep}sM`$-e2nxxSUY(|ql|bA0Fe-tN1^_io>Ne3$z^ z;QOHO!@iIBZufn{_gUX#zVG;+_5IoRsvq{F{a8QVua{pRzkYrL{M`LU`;GM*?>Es; z0nRfaeqny$evy7reldO}elz`6`aSFSk-wY&ME}YDb^i1Hm-sLBU*>FZ-2cab;Q^xpCI%=1lmQ_D>VW8g*ns$e z#DKbhl>z?<*cWg#;B>&*fG-2C$lc|G(SF+LM|PZ%~~#01X?-ika$m7-ZOL(!s`t++vPqk<@IR@|zXuUM#f zNU=)MrdX|5qgbn0uh^*Aq}Za^s@SeLthg97I4C@*G)M?q9rQxbM?qJWZpuE&e#!yL z;Yxp{TscZPMmbJ7L8(wGm9fesrAC>moUF`JW-D`*4a&Qe4=LM~k0>8iZd7hkZc%Pk z?osYj9#x)DzN>s+c~W^s`Kj`p@`Cb1Sz*-=BpN}Zdcu@TB%y6dRDbt^}K4YYM<(5)hnt4s@GJ9R7X^2RG+HOsV=C#P<^So zq`Iv7R`tE=N7c{a9^vZnitro5+r#&VUx?@%F(D#7A~zyGqA;R3LKjgNVTovnXpCrz za70XxxH)1$#BC9GMBEjzG-6rAeG%Iu-ir7*;?sz85f>u9iugL>n~3is`N-ap!y z>Rsx0)K{bYqf(;kqZUVPiaHqeS=6PdZ=$}7`XQQ*?i<}dS{6MpdT{j6=n>JL(PN_n zql2P@qr;;kqobl@qD!LZL@$h96ul(+?&$lXmq$Mk{b2OQ=*`i)qF;!9G5V$G{n3Y_ zk3=7felz-b^!G6VG5IkSF?BIF#M~IOAZA(2+L-k*+hTUayb$wp%quYmVh+a~jd>&H zt(em>mtx&wd&l;T?H?(Y-(&q?Bv+2 z*t*z-v5&>R9(yTnL|klKdED%{`{P>UR>wUWw=QmL+|IaXf82q%*WwPv zy%+aU+$V8o<1WNqjJp(fIevJ&Dn2PbBR(@eJAP_>Nql*{HeMHB6Mskiv+*CqpN+qq z;Fi!kVNil!LTG|2At@m(AtNC(AvYl}p)jF1!IWT0uqDh%APF}o%uBdE;m(9533n&7 zCTvQ0JYjpnlL^lx>`K_5@M^-rghPpOiIWra6N?f{6Dty{63vO0L|bB0Vsqk*#5IYB z60atWO^QvLlr%XhGigdvQBrAAMUpnDF=rreM+FJ)26eJLwa+Edo2Y);vg@?6UE zDKDnHobpP_2PtP$zDl{As!UaW;tzexQm^>XTWsXwM(NyBM_(}t#vNb^kdN%Kz|nKmYEeA>h`MVdM-C(WETCv9ok z+O(}{ucVzy`z-BZ`jB+5^fBq->GA0a>B;Fi=_Tpq>Du(_bVGVW`m}UM`i%5h>2uPT zrEf`pHT_BklhG@qPsZR3&kUao|BR6tV=}@rqBG($5;HUzlQXh1ax(HV3Nq$qY|J>G zaU$bP#^)JdW_+FTZN`;JcoH*-pVVv8z)2$}1xy;B8JZcM8K0SznV(sfS)19MIWu#1 z=G;t@c}wQ}%zHBL%UqH9VCJgK_RKYzYcmgKewF2wm70~Em77(XRg-1Rx-09Utj$?l zv!2L$Dr;xfvsrtx_GZ15bv)}t)_YkWWPO-*D(iIC*{pL}7pAaN22asU(N0+~W&M{;12WDD6hW#5`TKYK;?W7&JM zk7b|DzLMjfCoiWkr#NSJ&f=WboR@Nr<-C`3GUrsz z>6}k#jYYQ<%`dvGXmQb9MN5m8 z6+Kq;deOT@mx{hA`o8F=qN~MJF5|f=rT3P$mu@NDR=T6~>C#=L&y_x3`g-Y+(l<(vm%dZ_ ze(A~5k4i6;;j&?6qsoHIa?A3{s>)1db!FDF#FaN0g%ZgqVUKNoQ z(G_tOi4~fPw2F+1*%h}`++MM$;;xE&D(+vz2eD=rz>_Qu}Gu;HnW-nyS*O+p3mUt*_c#wXf<-)n`=~sxDSts`{qt`>LO+uIh&CJas-g zf89vk7~ObX8E9)}okeHUP1DWQ5#7zYdAgOlb-InZO}fW*J9T??hjmAFZ|aWgKGB`g zeX2WGjjCg-Csk{!tE&ywwbk|24b{`C9n~|cXI0-&eRuV;>iepfS3gkwQ1z}~clk1~%nPcR3XCy5SS<{Qn#e2aOZ`F8W2=EdfR z%p1&G%}t*m>fZbRLcx~+9j z)IC$TtM1vl-F2_my;=7`-M4i=)eo*8T_0bcRG(6xUO%~hN_|d!Nqtp)O}(++Twh;5 zvwn8{4fR6(o%KuV@2+1~-&X%f{iF5k>z}JXQ2%=Uk@{oxAJ%_Xf1&aSWT z3u|$+^s)4_47DgMYD=;u$5LV`w`eV3VzM+?8ZAv0hh@5DrsZDCHp`oqFDyS#_<2(XhYaYuiX$q3u@N3frT$ownC(hixZpr)}qK-!?LhY$GQbco0Q7-}x7v@2 + + + + SchemeUserState + + FfmpegCapabilities.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/macos/FfmpegCapabilities/FfmpegCapabilities/main.swift b/macos/FfmpegCapabilities/FfmpegCapabilities/main.swift new file mode 100644 index 000000000..e09dc0b4c --- /dev/null +++ b/macos/FfmpegCapabilities/FfmpegCapabilities/main.swift @@ -0,0 +1,134 @@ +// +// main.swift +// FfmpegCapabilities +// +// Created by Christian Benincasa on 8/2/25. +// + +import CoreFoundation +import Foundation +import VideoToolbox + +extension FourCharCode { + var string: String? { + let cString: [CChar] = [ + CChar((self >> 24) & 0xFF), + CChar((self >> 16) & 0xFF), + CChar((self >> 8) & 0xFF), + CChar(self & 0xFF), + 0, + ] + + return String(cString: cString) + } +} + +func main() -> Int32 { + var encoders: CFArray? + let status = VTCopyVideoEncoderList(nil, &encoders) + + if status != noErr { + print("Failed to get encoder list: \(status)") + return 1 + } + + guard let encoderList = encoders as? [[String: Any]] else { + print("Encoder list is not in the expected format.") + return 1 + } + + var jsonEncoders: [[String: Any]] = [] + + for encoder in encoderList { + var jsonEncoder: [String: Any] = [:] + + let isHwAccel = + encoder[kVTVideoEncoderList_IsHardwareAccelerated as String] as? Bool ?? false + if !isHwAccel { + continue + } + + jsonEncoder["isHardwareAccelerated"] = true + + if let displayName = encoder[kVTVideoEncoderList_DisplayName as String] + as? String + { + jsonEncoder["displayName"] = displayName + } + + if let encoderName = encoder[kVTVideoEncoderList_EncoderName as String] + as? String + { + jsonEncoder["encoderName"] = encoderName + } + + if let encoderID = encoder[kVTVideoEncoderList_EncoderID as String] + as? String + { + jsonEncoder["encoderID"] = encoderID + } + + if let codecType = encoder[kVTVideoEncoderList_CodecType as String] + as? CMVideoCodecType + { + jsonEncoder["codecType"] = (codecType as FourCharCode).string! + } + + if let codecName = encoder[kVTVideoEncoderList_CodecName as String] + as? String + { + jsonEncoder["codecName"] = codecName + } + + if let supportedProps = encoder[kVTVideoEncoderList_SupportedSelectionProperties as String] + { + jsonEncoder["supportedProps"] = supportedProps + } + + jsonEncoders.append(jsonEncoder) + } + + let decoderSupport = [ + kCMVideoCodecType_H264, + kCMVideoCodecType_HEVC, + kCMVideoCodecType_AV1, + kCMVideoCodecType_MPEG2Video, + kCMVideoCodecType_MPEG4Video, + kCMVideoCodecType_VP9, + ] + .reduce( + into: [ + String: Bool + ]() + ) { + $0[$1.string!] = VTIsHardwareDecodeSupported($1) + } + + let jsonOutput: [String: Any] = [ + "encoders": jsonEncoders, + "decoders": decoderSupport, + ] + + // 4. Serialize the Swift dictionary into a JSON Data object. + do { + let jsonData = try JSONSerialization.data( + withJSONObject: jsonOutput, + options: [.prettyPrinted] + ) + + // 5. Convert the JSON Data to a String. + if let jsonString = String(data: jsonData, encoding: .utf8) { + print(jsonString) + } else { + print("Failed to convert JSON data to a string.") + return 1 + } + } catch { + print("Failed to serialize encoder list to JSON: \(error)") + return 1 + } + + return 0 +} + +exit(main()) From 0c6c39888dd4187044e14dd2fb2b7b86e9f13acb Mon Sep 17 00:00:00 2001 From: Trifocals3537 <106492212+Trifocals3537@users.noreply.github.com> Date: Sun, 24 May 2026 12:26:55 -0500 Subject: [PATCH 02/13] feat(server): add optional basic auth for protected routes (#1865) --- server/src/Server.ts | 22 ++++- server/src/api/creditsApi.ts | 3 + server/src/api/hdhrApi.ts | 1 + server/src/api/index.ts | 6 ++ server/src/api/programmingApi.ts | 3 + server/src/api/streamApi.ts | 7 ++ server/src/api/videoApi.ts | 7 ++ server/src/types/fastify.d.ts | 1 + server/src/util/basicAuth.test.ts | 147 ++++++++++++++++++++++++++++++ server/src/util/basicAuth.ts | 83 +++++++++++++++++ server/src/util/env.ts | 4 + 11 files changed, 283 insertions(+), 1 deletion(-) create mode 100644 server/src/util/basicAuth.test.ts create mode 100644 server/src/util/basicAuth.ts diff --git a/server/src/Server.ts b/server/src/Server.ts index 089714a74..a687cabee 100644 --- a/server/src/Server.ts +++ b/server/src/Server.ts @@ -40,12 +40,13 @@ import { HdhrApiRouter } from './api/hdhrApi.js'; import { apiRouter } from './api/index.js'; import { streamApi } from './api/streamApi.js'; import { videoApiRouter } from './api/videoApi.js'; +import { createTunarrBasicAuthHook } from './util/basicAuth.js'; import { defaultHlsOptions } from './ffmpeg/builder/constants.ts'; import { type ServerOptions, serverOptions } from './globals.js'; import { IWorkerPool } from './interfaces/IWorkerPool.ts'; import { ServerContext, ServerRequestContext } from './ServerContext.js'; import { Result } from './types/result.ts'; -import { getBooleanEnvVar, TUNARR_ENV_VARS } from './util/env.ts'; +import { getBooleanEnvVar, getEnvVar, TUNARR_ENV_VARS } from './util/env.ts'; import { filename, isDev, run, timeoutPromise } from './util/index.js'; import { InjectLogger } from './util/inject.js'; import { type Logger } from './util/logging/LoggerFactory.js'; @@ -87,6 +88,21 @@ export class Server { .setSerializerCompiler(serializerCompiler) .withTypeProvider(); + const basicAuthUser = getEnvVar(TUNARR_ENV_VARS.BASIC_AUTH_USER_ENV_VAR); + const basicAuthPassword = getEnvVar( + TUNARR_ENV_VARS.BASIC_AUTH_PASSWORD_ENV_VAR, + ); + + if (basicAuthUser && basicAuthPassword) { + this.app.addHook( + 'onRequest', + createTunarrBasicAuthHook({ + username: basicAuthUser, + password: basicAuthPassword, + }), + ); + } + if (serverOptions().printRoutes) { await this.app.register( fp((f, opts, done) => @@ -287,6 +303,7 @@ export class Server { if (!route.config) { route.config = {}; } + route.config.authRequired = false; route.config.swaggerTransform = ({ schema, url }) => { const transformedSchema: FastifySchema = isUndefined(schema) ? {} @@ -341,6 +358,9 @@ export class Server { hide: true, params: z.object({ hash: z.string() }), }, + config: { + authRequired: false, + }, // Workaround for https://github.com/fastify/fastify/issues/4859 // eslint-disable-next-line @typescript-eslint/no-misused-promises onRequest: (req, res) => { diff --git a/server/src/api/creditsApi.ts b/server/src/api/creditsApi.ts index 93b0b4c07..9342f180f 100644 --- a/server/src/api/creditsApi.ts +++ b/server/src/api/creditsApi.ts @@ -114,6 +114,9 @@ export class CreditsApiController { 404: z.void(), }, }, + config: { + authRequired: false, + }, }, async (req, res) => { const maybeCredit = await this.db.query.credit.findFirst({ diff --git a/server/src/api/hdhrApi.ts b/server/src/api/hdhrApi.ts index a99597656..73a48430a 100644 --- a/server/src/api/hdhrApi.ts +++ b/server/src/api/hdhrApi.ts @@ -28,6 +28,7 @@ export class HdhrApiRouter { routeOpts.config = {}; } routeOpts.config.disableRequestLogging = true; + routeOpts.config.authRequired = false; if (!routeOpts.schema) { routeOpts.schema = {}; } diff --git a/server/src/api/index.ts b/server/src/api/index.ts index dbdc61009..ed194dcf7 100644 --- a/server/src/api/index.ts +++ b/server/src/api/index.ts @@ -238,6 +238,9 @@ export const apiRouter: RouterPluginAsyncCallback = async (fastify) => { schema: { tags: ['Streaming'], }, + config: { + authRequired: false, + }, handler: async (req, res) => { try { const host = `${req.protocol}://${req.host}`; @@ -275,6 +278,9 @@ export const apiRouter: RouterPluginAsyncCallback = async (fastify) => { }), tags: ['Streaming'], }, + config: { + authRequired: false, + }, method: ['HEAD', 'GET'], handler: async (req, res) => { try { diff --git a/server/src/api/programmingApi.ts b/server/src/api/programmingApi.ts index 3a309ddb0..7b9182283 100644 --- a/server/src/api/programmingApi.ts +++ b/server/src/api/programmingApi.ts @@ -419,6 +419,9 @@ export const programmingApi: RouterPluginAsyncCallback = async (fastify) => { 404: z.void(), }, }, + config: { + authRequired: false, + }, }, async (req, res) => { let program: Maybe<{ diff --git a/server/src/api/streamApi.ts b/server/src/api/streamApi.ts index 643ff8ecc..500d8e30c 100644 --- a/server/src/api/streamApi.ts +++ b/server/src/api/streamApi.ts @@ -42,6 +42,13 @@ export const streamApi: RouterPluginAsyncCallback = async (fastify) => { className: 'StreamApi', }); + fastify.addHook('onRoute', (routeOpts) => { + if (!routeOpts.config) { + routeOpts.config = {}; + } + routeOpts.config.authRequired = false; + }); + fastify.addHook('onError', (req, _, error, done) => { logger.error( error, diff --git a/server/src/api/videoApi.ts b/server/src/api/videoApi.ts index 2b535e6ce..063c09357 100644 --- a/server/src/api/videoApi.ts +++ b/server/src/api/videoApi.ts @@ -29,6 +29,13 @@ export const videoApiRouter: RouterPluginAsyncCallback = async (fastify) => { className: 'VideoApi', }); + fastify.addHook('onRoute', (routeOpts) => { + if (!routeOpts.config) { + routeOpts.config = {}; + } + routeOpts.config.authRequired = false; + }); + fastify.get( '/setup', { diff --git a/server/src/types/fastify.d.ts b/server/src/types/fastify.d.ts index 0de0c807f..16123e656 100644 --- a/server/src/types/fastify.d.ts +++ b/server/src/types/fastify.d.ts @@ -20,5 +20,6 @@ declare module 'fastify' { interface FastifyContextConfig { logAtLevel?: LogLevels; disableRequestLogging?: boolean | 'only-errors'; + authRequired?: boolean; } } diff --git a/server/src/util/basicAuth.test.ts b/server/src/util/basicAuth.test.ts new file mode 100644 index 000000000..fbaf8aa97 --- /dev/null +++ b/server/src/util/basicAuth.test.ts @@ -0,0 +1,147 @@ +import type { FastifyReply, FastifyRequest } from 'fastify'; +import { describe, expect, test, vi } from 'vitest'; +import { + createTunarrBasicAuthHook, + safeEqual, + validateBasicAuth, +} from './basicAuth.ts'; + +function basicAuthHeader(username: string, password: string) { + return `Basic ${Buffer.from(`${username}:${password}`).toString('base64')}`; +} + +function createRequest( + authorization?: string, + authRequired?: boolean, +): FastifyRequest { + return { + headers: { + authorization, + }, + routeOptions: { + config: authRequired === undefined ? {} : { authRequired }, + }, + } as unknown as FastifyRequest; +} + +type MockReply = FastifyReply & { + header: ReturnType; + status: ReturnType; + send: ReturnType; +}; + +function createReply(): MockReply { + const reply = {} as MockReply; + + reply.header = vi.fn(() => reply); + reply.status = vi.fn(() => reply); + reply.send = vi.fn(() => reply); + + return reply; +} + +describe('basicAuth', () => { + describe('safeEqual', () => { + test('returns true for matching strings', () => { + expect(safeEqual('tunarr', 'tunarr')).toBe(true); + }); + + test('returns false for non-matching strings with different lengths', () => { + expect(safeEqual('tunarr', 'tunarr-password')).toBe(false); + }); + }); + + describe('validateBasicAuth', () => { + test('returns false when the authorization header is missing', () => { + expect(validateBasicAuth(undefined, 'user', 'pass')).toBe(false); + }); + + test('returns false when the authorization header is not basic auth', () => { + expect(validateBasicAuth('Bearer token', 'user', 'pass')).toBe(false); + }); + + test('returns false when the credentials are malformed', () => { + expect(validateBasicAuth('Basic bm9jb2xvbg==', 'user', 'pass')).toBe( + false, + ); + }); + + test('returns false when the credentials do not match', () => { + expect( + validateBasicAuth(basicAuthHeader('wrong', 'creds'), 'user', 'pass'), + ).toBe(false); + }); + + test('returns true when the credentials match', () => { + expect( + validateBasicAuth(basicAuthHeader('user', 'pass'), 'user', 'pass'), + ).toBe(true); + }); + }); + + describe('createTunarrBasicAuthHook', () => { + test('skips auth when route config marks authRequired false', () => { + const hook = createTunarrBasicAuthHook({ + username: 'user', + password: 'pass', + }); + const reply = createReply(); + const done = vi.fn(); + + hook(createRequest(undefined, false), reply, done); + + expect(done).toHaveBeenCalledOnce(); + expect(reply.status).not.toHaveBeenCalled(); + expect(reply.send).not.toHaveBeenCalled(); + }); + + test('rejects protected routes when credentials are missing', () => { + const hook = createTunarrBasicAuthHook({ + username: 'user', + password: 'pass', + }); + const reply = createReply(); + const done = vi.fn(); + + hook(createRequest(), reply, done); + + expect(done).not.toHaveBeenCalled(); + expect(reply.header).toHaveBeenCalledWith( + 'WWW-Authenticate', + 'Basic realm="Tunarr"', + ); + expect(reply.status).toHaveBeenCalledWith(401); + expect(reply.send).toHaveBeenCalledWith('Authentication required'); + }); + + test('rejects protected routes when credentials are invalid', () => { + const hook = createTunarrBasicAuthHook({ + username: 'user', + password: 'pass', + }); + const reply = createReply(); + const done = vi.fn(); + + hook(createRequest(basicAuthHeader('user', 'wrong')), reply, done); + + expect(done).not.toHaveBeenCalled(); + expect(reply.status).toHaveBeenCalledWith(401); + expect(reply.send).toHaveBeenCalledWith('Authentication required'); + }); + + test('allows protected routes when credentials are valid', () => { + const hook = createTunarrBasicAuthHook({ + username: 'user', + password: 'pass', + }); + const reply = createReply(); + const done = vi.fn(); + + hook(createRequest(basicAuthHeader('user', 'pass')), reply, done); + + expect(done).toHaveBeenCalledOnce(); + expect(reply.status).not.toHaveBeenCalled(); + expect(reply.send).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/server/src/util/basicAuth.ts b/server/src/util/basicAuth.ts new file mode 100644 index 000000000..90da3c113 --- /dev/null +++ b/server/src/util/basicAuth.ts @@ -0,0 +1,83 @@ +import crypto from 'node:crypto'; +import type { + FastifyReply, + FastifyRequest, + HookHandlerDoneFunction, + onRequestHookHandler, +} from 'fastify'; + +interface BasicAuthConfig { + username: string; + password: string; +} + +function unauthorized(reply: FastifyReply) { + reply.header('WWW-Authenticate', 'Basic realm="Tunarr"'); + return reply.status(401).send('Authentication required'); +} + +function hash(value: string) { + return crypto.createHash('sha256').update(value).digest(); +} + +export function safeEqual(a: string, b: string) { + return crypto.timingSafeEqual(hash(a), hash(b)); +} + +export function validateBasicAuth( + authHeader: string | undefined, + expectedUser: string, + expectedPass: string, +) { + if (!authHeader || !authHeader.startsWith('Basic ')) { + return false; + } + + try { + const encoded = authHeader.slice(6).trim(); + const decoded = Buffer.from(encoded, 'base64').toString('utf8'); + const idx = decoded.indexOf(':'); + + if (idx < 0) { + return false; + } + + const user = decoded.slice(0, idx); + const pass = decoded.slice(idx + 1); + + const userMatches = safeEqual(user, expectedUser); + const passMatches = safeEqual(pass, expectedPass); + + return userMatches && passMatches; + } catch { + return false; + } +} + +export function createTunarrBasicAuthHook( + config: BasicAuthConfig, +): onRequestHookHandler { + return ( + request: FastifyRequest, + reply: FastifyReply, + done: HookHandlerDoneFunction, + ) => { + if (request.routeOptions.config?.authRequired === false) { + done(); + return; + } + + const ok = validateBasicAuth( + request.headers.authorization, + config.username, + config.password, + ); + + if (!ok) { + void unauthorized(reply); + return; + } + + done(); + }; +} diff --git a/server/src/util/env.ts b/server/src/util/env.ts index 153fac687..8a0890f6f 100644 --- a/server/src/util/env.ts +++ b/server/src/util/env.ts @@ -13,6 +13,8 @@ const IS_EDGE_BUILD_ENV_VAR = 'TUNARR_EDGE_BUILD'; export const DATABASE_LOCATION_ENV_VAR = 'TUNARR_DATABASE_PATH'; const SERVER_PORT_ENV_VAR = 'TUNARR_SERVER_PORT'; const LOG_LEVEL_ENV_VAR = 'TUNARR_LOG_LEVEL'; +const BASIC_AUTH_USER_ENV_VAR = 'TUNARR_BASIC_AUTH_USER'; +const BASIC_AUTH_PASSWORD_ENV_VAR = 'TUNARR_BASIC_AUTH_PASSWORD'; // Advanced overrides const MEILISEARCH_PATH = 'TUNARR_MEILISEARCH_PATH'; @@ -63,6 +65,8 @@ export const TUNARR_ENV_VARS = { SEARCH_MAX_INDEXING_THREADS, DEBUG__PROGRAM_GROUPING_UPDATE_CHUNK_SIZE, LOG_LEVEL_ENV_VAR, + BASIC_AUTH_USER_ENV_VAR, + BASIC_AUTH_PASSWORD_ENV_VAR, MEILISEARCH_PATH, DISABLE_SEARCH_SNAPSHOT_IN_BACKUP, SESSION_CLEANUP_DELAY_SECONDS, From a24303c8933f59156996f713eb6862f5fab2d094 Mon Sep 17 00:00:00 2001 From: Christian Benincasa Date: Wed, 27 May 2026 18:09:37 -0400 Subject: [PATCH 03/13] feat: extract more metadata about music videos (#1885) --- server/src/api/debug/debugPlexApi.ts | 35 +++++++- server/src/db/converters/ProgramMinter.ts | 2 + server/src/external/emby/EmbyApiClient.ts | 2 + .../external/jellyfin/JellyfinApiClient.ts | 2 + server/src/external/plex/PlexApiClient.ts | 40 ++++++++- .../src/services/scanner/FileSystemScanner.ts | 35 +++++--- .../src/services/scanner/LocalMovieScanner.ts | 6 +- .../src/services/scanner/LocalMusicScanner.ts | 2 +- .../scanner/LocalMusicVideoScanner.ts | 84 ++++++++++++++++--- .../scanner/LocalOtherVideoScanner.ts | 2 +- .../services/scanner/LocalTvShowScanner.ts | 2 +- server/src/stream/FfprobeStreamDetails.ts | 1 + server/src/stream/types.ts | 1 + .../fixers/BackfillProgramExternalIds.ts | 4 +- types/src/schemas/programmingSchema.ts | 2 + 15 files changed, 184 insertions(+), 36 deletions(-) diff --git a/server/src/api/debug/debugPlexApi.ts b/server/src/api/debug/debugPlexApi.ts index 3503ced64..0bd69dd0a 100644 --- a/server/src/api/debug/debugPlexApi.ts +++ b/server/src/api/debug/debugPlexApi.ts @@ -1,6 +1,37 @@ import type { RouterPluginAsyncCallback } from '@/types/serverType.js'; +import { tag } from '@tunarr/types'; +import { z } from 'zod'; export const DebugPlexApiRouter: RouterPluginAsyncCallback = async ( - _fastify, + fastify, // eslint-disable-next-line @typescript-eslint/require-await -) => {}; +) => { + fastify.get( + '/plex/:mediaSourceId/:plexItemId', + { + schema: { + params: z.object({ + mediaSourceId: z.uuid(), + plexItemId: z.string(), + }), + }, + }, + async (req, res) => { + const mediaSource = await req.serverCtx.mediaSourceDB.getById( + tag(req.params.mediaSourceId), + ); + if (!mediaSource) { + return res.status(404).send('No media source found'); + } + + const client = + await req.serverCtx.mediaSourceApiFactory.getPlexApiClientForMediaSource( + mediaSource, + ); + + const result = await client.getItemMetadata(req.params.plexItemId); + + return res.send(result); + }, + ); +}; diff --git a/server/src/db/converters/ProgramMinter.ts b/server/src/db/converters/ProgramMinter.ts index 9b942963d..ec25d4299 100644 --- a/server/src/db/converters/ProgramMinter.ts +++ b/server/src/db/converters/ProgramMinter.ts @@ -545,6 +545,8 @@ export class ProgramDaoMinter { updatedAt: now, canonicalId: video.canonicalId, state: 'ok', + artistName: video.artistName ?? null, + albumName: video.albumName ?? null, } satisfies NewMusicVideoProgram; return { diff --git a/server/src/external/emby/EmbyApiClient.ts b/server/src/external/emby/EmbyApiClient.ts index b6735795d..1336d3acc 100644 --- a/server/src/external/emby/EmbyApiClient.ts +++ b/server/src/external/emby/EmbyApiClient.ts @@ -1784,6 +1784,8 @@ export class EmbyApiClient extends MediaSourceApiClient { video.TagItems?.map((item) => item.Name).filter(isNonEmptyString) ?? [], ), // summary: null, + artistName: video.Artists?.join(', ') ?? video.AlbumArtist ?? null, + albumName: video.Album ?? null, type: 'music_video', mediaItem, identifiers: collectEmbyItemIdentifiers( diff --git a/server/src/external/jellyfin/JellyfinApiClient.ts b/server/src/external/jellyfin/JellyfinApiClient.ts index 148e96b6d..2487f0dc2 100644 --- a/server/src/external/jellyfin/JellyfinApiClient.ts +++ b/server/src/external/jellyfin/JellyfinApiClient.ts @@ -1744,6 +1744,8 @@ export class JellyfinApiClient extends MediaSourceApiClient { // tagline: find(video.Taglines, isNonEmptyString) ?? null, tags: video.Tags?.filter(isNonEmptyString) ?? [], // summary: null, + artistName: video.Artists?.join(', ') ?? video.AlbumArtist ?? null, + albumName: video.Album ?? null, type: 'music_video', mediaItem, identifiers: collectJellyfinItemIdentifiers( diff --git a/server/src/external/plex/PlexApiClient.ts b/server/src/external/plex/PlexApiClient.ts index 3a7ca1c25..74839e2d5 100644 --- a/server/src/external/plex/PlexApiClient.ts +++ b/server/src/external/plex/PlexApiClient.ts @@ -728,10 +728,48 @@ export class PlexApiClient extends MediaSourceApiClient { ); } - async getItemMetadata(key: string): Promise> { + async getItemMetadataRaw(key: string): Promise> { return this.getItemMetadataInternal(key, PlexMediaContainerResponseSchema); } + async getItemMetadata(key: string): Promise> { + const rawResponse = await this.getItemMetadataRaw(key); + return rawResponse.flatMap((media) => { + return this.findLibraryFromPlexMedia(media).flatMap((library) => + match(media) + .returnType>() + .with({ type: 'movie' }, (movie) => + this.plexMovieInjection(movie, library), + ) + .with({ type: 'episode' }, (ep) => + this.plexEpisodeInjection(ep, library), + ) + .with({ type: 'show' }, (show) => + this.plexShowInjection(show, library), + ) + .with({ type: 'season' }, (season) => + this.plexSeasonInjection(season, library), + ) + .with({ type: 'album' }, (album) => + this.plexAlbumInjection(album, library), + ) + .with({ type: 'artist' }, (artist) => + this.plexMusicArtistInjection(artist, library), + ) + .with({ type: 'track' }, (track) => + this.plexTrackInjection(track, library), + ) + .with({ type: 'collection' }, () => { + throw new Error('Collections are not supported in this call'); + }) + .with({ type: 'playlist' }, () => { + throw new Error('Playlists are not supported in this call'); + }) + .exhaustive(), + ); + }); + } + async getMovie(key: string): Promise> { return this.getMediaOfType( key, diff --git a/server/src/services/scanner/FileSystemScanner.ts b/server/src/services/scanner/FileSystemScanner.ts index c3fdac1da..12df8b8a2 100644 --- a/server/src/services/scanner/FileSystemScanner.ts +++ b/server/src/services/scanner/FileSystemScanner.ts @@ -65,7 +65,7 @@ export abstract class FileSystemScanner { protected state: RunState = 'starting'; private mediaSourceId: Maybe; - @InjectLogger() protected declare readonly logger: Logger; + @InjectLogger() declare protected readonly logger: Logger; constructor( protected ffprobeStreamDetails: FfprobeStreamDetails, @@ -145,17 +145,23 @@ export abstract class FileSystemScanner { ); } - protected async getMediaItem(filePath: string): Promise> { + protected async getMediaItem( + filePath: string, + ): Promise< + Result<{ mediaItem: MediaItem; formatTags?: Record }> + > { try { - const streamDetails = await this.ffprobeStreamDetails.getStream({ + const streamDetailsResult = await this.ffprobeStreamDetails.getStream({ path: filePath, }); - if (streamDetails.isFailure()) { - return streamDetails.recast(); + if (streamDetailsResult.isFailure()) { + return streamDetailsResult.recast(); } - const videoStreams = streamDetails.get().streamDetails.videoDetails; + const streamDetails = streamDetailsResult.get(); + + const videoStreams = streamDetails.streamDetails.videoDetails; const streams: MediaStream[] = []; if (videoStreams) { for (const probeVideoStream of videoStreams) { @@ -179,8 +185,8 @@ export abstract class FileSystemScanner { } } - for (const audioStream of streamDetails.get().streamDetails - .audioDetails ?? []) { + for (const audioStream of streamDetails.streamDetails.audioDetails ?? + []) { const stream: MediaStream = { ...audioStream, // uuid: v4(), @@ -200,7 +206,7 @@ export abstract class FileSystemScanner { streams.push(stream); } - for (const subtitleStream of streamDetails.get().streamDetails + for (const subtitleStream of streamDetails.streamDetails .subtitleDetails ?? []) { const stream: MediaStream = { ...subtitleStream, @@ -227,13 +233,13 @@ export abstract class FileSystemScanner { const firstVideoStream = head( orderBy( - streamDetails.get().streamDetails.videoDetails, + streamDetails.streamDetails.videoDetails, (v, i) => (v.streamIndex ?? 0) + i, 'asc', ), ); - const chapters = streamDetails.get().streamDetails.chapters; + const chapters = streamDetails.streamDetails.chapters; const mediaItem: MediaItem = { // createdAt: statResult.ctime, @@ -241,7 +247,7 @@ export abstract class FileSystemScanner { chapters, displayAspectRatio: firstVideoStream?.displayAspectRatio, sampleAspectRatio: firstVideoStream?.sampleAspectRatio, - duration: +streamDetails.get().streamDetails.duration, + duration: +streamDetails.streamDetails.duration, frameRate: firstVideoStream?.framerate, resolution: isDefined(firstVideoStream?.height) && @@ -261,7 +267,10 @@ export abstract class FileSystemScanner { ], }; - return Result.success(mediaItem); + return Result.success({ + mediaItem, + formatTags: streamDetails.streamDetails.formatTags, + }); } catch (e) { return Result.forError(caughtErrorToError(e)); } diff --git a/server/src/services/scanner/LocalMovieScanner.ts b/server/src/services/scanner/LocalMovieScanner.ts index d6e19f6bf..410410dd6 100644 --- a/server/src/services/scanner/LocalMovieScanner.ts +++ b/server/src/services/scanner/LocalMovieScanner.ts @@ -307,6 +307,8 @@ export class LocalMovieScanner extends FileSystemScanner { return mediaItemResult.mapPure(() => void 0); } + const { mediaItem } = mediaItemResult.get(); + const metadataResult = await this.loadMovieMetadata(fullVideoFilePath); if (metadataResult.isFailure()) { return metadataResult.recast(); @@ -339,8 +341,8 @@ export class LocalMovieScanner extends FileSystemScanner { ...metadataResult.get(), mediaSourceId: context.mediaSource.uuid, libraryId: context.library.uuid, - duration: mediaItemResult.get().duration, - mediaItem: mediaItemResult.get(), + duration: mediaItem.duration, + mediaItem, externalId: fullVideoFilePath, canonicalId: '', externalSubtitles: subtitlesResult.getOrElse([]), diff --git a/server/src/services/scanner/LocalMusicScanner.ts b/server/src/services/scanner/LocalMusicScanner.ts index 31fe0b209..1e0b12bd9 100644 --- a/server/src/services/scanner/LocalMusicScanner.ts +++ b/server/src/services/scanner/LocalMusicScanner.ts @@ -528,7 +528,7 @@ export class LocalMusicScanner extends FileSystemScanner { trackDirent: Dirent, ): Promise> { const trackPath = path.join(trackDirent.parentPath, trackDirent.name); - const fileDetails = (await this.getMediaItem(trackPath)).getOrThrow(); + const { mediaItem: fileDetails } = (await this.getMediaItem(trackPath)).getOrThrow(); const parsedTrackMetadataResult = await Result.attemptAsync(() => parseFile(trackPath, { skipCovers: true, diff --git a/server/src/services/scanner/LocalMusicVideoScanner.ts b/server/src/services/scanner/LocalMusicVideoScanner.ts index bc0e1e0ea..fac09bbb8 100644 --- a/server/src/services/scanner/LocalMusicVideoScanner.ts +++ b/server/src/services/scanner/LocalMusicVideoScanner.ts @@ -318,13 +318,13 @@ export class LocalMusicVideoScanner extends FileSystemScanner { await wait(); - const mediaItem = (await this.getMediaItem(fullFilePath)).getOrThrow(); + const { mediaItem, formatTags } = (await this.getMediaItem(fullFilePath)).getOrThrow(); if (isNil(mediaItem.duration)) { throw new Error(`Could not derive duration for item: ${fullFilePath}`); } - const metadata = (await this.loadVideoMetadata(fullFilePath)).getOrThrow(); + const metadata = (await this.loadVideoMetadata(fullFilePath, formatTags)).getOrThrow(); metadata.tags.push(file.parentPath); @@ -380,16 +380,24 @@ export class LocalMusicVideoScanner extends FileSystemScanner { private async loadVideoMetadata( fullVideoFilePath: string, + formatTags?: Record, ): Promise> { + const probeMeta = this.extractMetadataFromFormatTags(formatTags); const nfoPath = await this.findNfoFile(fullVideoFilePath); + if (!isNonEmptyString(nfoPath)) { - return Result.attemptAsync(() => - Promise.resolve( - this.fallbackMetadataService.getMusicVideoFallbackMetadata( - fullVideoFilePath, - ), - ), - ); + const fallback = + this.fallbackMetadataService.getMusicVideoFallbackMetadata( + fullVideoFilePath, + ); + return Result.success({ + ...fallback, + title: probeMeta.title ?? fallback.title, + sortTitle: titleToSortTitle(probeMeta.title ?? fallback.title), + artistName: probeMeta.artistName ?? null, + albumName: probeMeta.albumName ?? null, + year: probeMeta.year ?? fallback.year, + }); } const parseResult = await this.nfoParser.parse( @@ -400,11 +408,59 @@ export class LocalMusicVideoScanner extends FileSystemScanner { return parseResult.recast(); } - const parsed = parseResult.get(); + const nfoMetadata = this.nfoToMusicVideo(parseResult.get().musicvideo); - return Result.attemptAsync(() => - Promise.resolve(this.nfoToMusicVideo(parsed.musicvideo)), - ); + return Result.success({ + ...nfoMetadata, + artistName: nfoMetadata.artistName ?? probeMeta.artistName ?? null, + albumName: nfoMetadata.albumName ?? probeMeta.albumName ?? null, + year: nfoMetadata.year ?? probeMeta.year ?? null, + }); + } + + private extractMetadataFromFormatTags( + formatTags?: Record, + ): { + title?: string; + artistName?: string; + albumName?: string; + year?: number; + } { + if (formatTags === undefined) { + return {}; + } + + const getTag = (...keys: string[]): string | undefined => { + for (const key of keys) { + const val = + formatTags[key] ?? + formatTags[key.toLowerCase()] ?? + formatTags[key.toUpperCase()]; + if (val !== undefined) return val; + } + return undefined; + }; + + let year: number | undefined; + const dateStr = getTag('date', 'DATE', 'year', 'YEAR'); + if (dateStr !== undefined) { + const parsed = parseInt(dateStr, 10); + if (!isNaN(parsed) && parsed > 0) { + year = parsed; + } + } + + return { + title: getTag('title', 'TITLE'), + artistName: getTag( + 'artist', + 'ARTIST', + 'album_artist', + 'ALBUM_ARTIST', + ), + albumName: getTag('album', 'ALBUM'), + year, + }; } private async findNfoFile(videoPath: string) { @@ -440,6 +496,8 @@ export class LocalMusicVideoScanner extends FileSystemScanner { year: releaseDate?.year() ?? null, actors: [], tags: nfo.tag ?? [], + artistName: nfo.artist?.join(', ') ?? null, + albumName: nfo.album ?? null, type: 'music_video', directors, studios: nfo.studio ? [{ name: nfo.studio }] : [], diff --git a/server/src/services/scanner/LocalOtherVideoScanner.ts b/server/src/services/scanner/LocalOtherVideoScanner.ts index 843d1c0e2..747e78312 100644 --- a/server/src/services/scanner/LocalOtherVideoScanner.ts +++ b/server/src/services/scanner/LocalOtherVideoScanner.ts @@ -323,7 +323,7 @@ export class LocalOtherVideoScanner extends FileSystemScanner { await wait(); - const mediaItem = (await this.getMediaItem(fullFilePath)).getOrThrow(); + const { mediaItem } = (await this.getMediaItem(fullFilePath)).getOrThrow(); if (isNil(mediaItem.duration)) { throw new Error(`Could not derive duration for item: ${fullFilePath}`); diff --git a/server/src/services/scanner/LocalTvShowScanner.ts b/server/src/services/scanner/LocalTvShowScanner.ts index 76e032ee4..187151259 100644 --- a/server/src/services/scanner/LocalTvShowScanner.ts +++ b/server/src/services/scanner/LocalTvShowScanner.ts @@ -615,7 +615,7 @@ export class LocalTvShowScanner extends FileSystemScanner { episodeDirent.name, ); - const mediaItem = (await this.getMediaItem(fullEpisodePath)).getOrThrow(); + const { mediaItem } = (await this.getMediaItem(fullEpisodePath)).getOrThrow(); if (isNil(mediaItem.duration)) { throw new Error(`Could not derive duration for item: ${fullEpisodePath}`); diff --git a/server/src/stream/FfprobeStreamDetails.ts b/server/src/stream/FfprobeStreamDetails.ts index a337419a8..cbad92dd5 100644 --- a/server/src/stream/FfprobeStreamDetails.ts +++ b/server/src/stream/FfprobeStreamDetails.ts @@ -155,6 +155,7 @@ export class FfprobeStreamDetails ? subtitleStreamDetails : undefined, duration: dayjs.duration({ seconds: probeDetails.format.duration }), + formatTags: probeDetails.format.tags, chapters: seq.collect( orderBy(probeDetails.chapters, (c) => c.start, 'asc'), (chapter, index) => { diff --git a/server/src/stream/types.ts b/server/src/stream/types.ts index 2275ca9e7..75fc6bfa4 100644 --- a/server/src/stream/types.ts +++ b/server/src/stream/types.ts @@ -18,6 +18,7 @@ export type StreamDetails = { serverPath?: string; directFilePath?: string; chapters?: MediaChapter[]; + formatTags?: Record; }; export type VideoStreamDetails = { diff --git a/server/src/tasks/fixers/BackfillProgramExternalIds.ts b/server/src/tasks/fixers/BackfillProgramExternalIds.ts index dd8dfb0f9..2dfb5594a 100644 --- a/server/src/tasks/fixers/BackfillProgramExternalIds.ts +++ b/server/src/tasks/fixers/BackfillProgramExternalIds.ts @@ -42,7 +42,7 @@ import Fixer from './fixer.ts'; @injectable() export class BackfillProgramExternalIds extends Fixer { private timer: Timer; - @InjectLogger() protected declare readonly logger: Logger; + @InjectLogger() declare protected readonly logger: Logger; constructor( @inject(MediaSourceApiFactory) @@ -179,7 +179,7 @@ export class BackfillProgramExternalIds extends Fixer { throw new Error('Plex server is not a saved media source'); } - const metadataResult = await plex.getItemMetadata(program.externalKey); + const metadataResult = await plex.getItemMetadataRaw(program.externalKey); if (metadataResult.isFailure()) { throw new Error( diff --git a/types/src/schemas/programmingSchema.ts b/types/src/schemas/programmingSchema.ts index 925fc8954..45f11673d 100644 --- a/types/src/schemas/programmingSchema.ts +++ b/types/src/schemas/programmingSchema.ts @@ -460,6 +460,8 @@ export const MusicTrackWithHierarchy = z.object({ export const MusicVideoMetadata = z.object({ ...BaseProgram.shape, type: z.literal('music_video'), + artistName: z.string().nullable().optional(), + albumName: z.string().nullable().optional(), }); export const MusicVideo = z.object({ From 8d26958eef04a97ffaf4524f359297d215c9e480 Mon Sep 17 00:00:00 2001 From: Christian Benincasa Date: Thu, 28 May 2026 10:45:55 -0400 Subject: [PATCH 04/13] feat: allow configuring play status updates per-server (#1899) This change brings back an underbaked feature wherein you could configure Tunarr to report play status back to your remote media sources while channels were playing (i.e. watching Tunarr would update your recently watched). This is now configurable per-server. Fixes: #1892, fixes #1893 --- .../tunarr-v1.2.0-dev.1-openapi.json | 2 +- server/src/api/debug/debugJellyfinApi.ts | 2 + server/src/api/mediaSourceApi.ts | 4 + server/src/db/mediaSourceDB.ts | 4 + server/src/db/schema/MediaSource.ts | 2 +- .../src/migration/DirectMigrationProvider.ts | 3 + .../migration/db/sql/0045_lean_violations.sql | 1 + .../migration/db/sql/meta/0045_snapshot.json | 4175 +++++++++++++++++ .../src/migration/db/sql/meta/_journal.json | 7 + server/src/stream/ProgramStream.ts | 43 +- server/src/stream/StreamModule.ts | 5 + .../JellyfinPlayStatusUpdaterPlugin.ts | 72 + .../plugins/PlexPlayStatusUpdaterPlugin.ts | 71 + .../src/stream/plugins/ProgramStreamPlugin.ts | 20 + server/src/tasks/TasksModule.ts | 20 + .../jellyfin/UpdateJellyfinPlayStatusTask.ts | 8 + server/src/types/inject.ts | 1 + server/src/util/assistedInject.ts | 28 +- types/src/api/index.ts | 17 +- types/src/schemas/settingsSchemas.ts | 37 +- .../media_source/EmbyServerEditDialog.tsx | 29 +- .../JelllyfinServerEditDialog.tsx | 128 +- .../media_source/PlexServerEditDialog.tsx | 62 +- web/src/generated/types.gen.ts | 193 +- web/src/locales/en/messages.po | 153 +- web/src/locales/en/messages.ts | 5 +- web/src/locales/es/messages.po | 153 +- web/src/locales/es/messages.ts | 5 +- web/src/locales/pseudo-LOCALE/messages.po | 153 +- web/src/locales/pseudo-LOCALE/messages.ts | 5 +- 30 files changed, 5026 insertions(+), 382 deletions(-) create mode 100644 server/src/migration/db/sql/0045_lean_violations.sql create mode 100644 server/src/migration/db/sql/meta/0045_snapshot.json create mode 100644 server/src/stream/plugins/JellyfinPlayStatusUpdaterPlugin.ts create mode 100644 server/src/stream/plugins/PlexPlayStatusUpdaterPlugin.ts create mode 100644 server/src/stream/plugins/ProgramStreamPlugin.ts diff --git a/docs/generated/tunarr-v1.2.0-dev.1-openapi.json b/docs/generated/tunarr-v1.2.0-dev.1-openapi.json index 3a88983c4..936c64bb2 100644 --- a/docs/generated/tunarr-v1.2.0-dev.1-openapi.json +++ b/docs/generated/tunarr-v1.2.0-dev.1-openapi.json @@ -1 +1 @@ -{"openapi":"3.0.3","info":{"title":"Tunarr","description":"Tunarr API","version":"1.2.0-dev.1"},"components":{"schemas":{"TerminalProgramInput":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"$ref":"#/components/schemas/EpisodeInput"},{"$ref":"#/components/schemas/MusicTrackInput"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]}]},"ShowInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"]},"SeasonInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/ShowInput"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"EpisodeInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/SeasonInput"},"show":{"$ref":"#/components/schemas/ShowInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"MusicArtistInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicAlbumInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicTrackInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbumInput"},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"PlexFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"]}]},"SearchFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"]}},"required":["key","type","op","value"]}]}},"required":["type","fieldSpec"]}]},"TerminalProgram":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/MusicTrack"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]},"Show":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Season":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/Show"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Episode":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/Season"},"show":{"$ref":"#/components/schemas/Show"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"MusicArtist":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicAlbum":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"artist":{"$ref":"#/components/schemas/MusicArtist"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicTrack":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbum"},"artist":{"$ref":"#/components/schemas/MusicArtist"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"PlexFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"],"additionalProperties":false}]},"SearchFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"],"additionalProperties":false}},"required":["key","type","op","value"],"additionalProperties":false}]}},"required":["type","fieldSpec"],"additionalProperties":false}]}}},"paths":{"/api/tasks":{"get":{"tags":["System","Tasks"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scheduledTasks":{"type":"array","items":{"type":"object","properties":{"running":{"type":"boolean"},"lastExecution":{"type":"string"},"lastExecutionEpoch":{"type":"number"},"nextExecution":{"type":"string"},"nextExecutionEpoch":{"type":"number"},"args":{"anyOf":[{"anyOf":[{"type":"object","properties":{},"additionalProperties":false},{"type":"string"}]}]}},"required":["running","args"],"additionalProperties":false}}},"required":["id","name","scheduledTasks"],"additionalProperties":false}}}}}}}},"/api/tasks/{id}/run":{"post":{"tags":["System","Tasks"],"requestBody":{"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"}]},"in":"query","name":"background","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels":{"get":{"operationId":"getChannels","tags":["Channels"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"post":{"operationId":"createChannelV2","tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["new"]},"channel":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}},"required":["type","channel"]},{"type":"object","properties":{"type":{"type":"string","enum":["copy"]},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","channelId"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}}}}},"/api/channels/{id}":{"get":{"operationId":"getChannelsByNumberV2","tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/programs":{"get":{"tags":["Channels"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/TerminalProgram"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/shows":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Show"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/artists":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/MusicArtist"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/programming":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}},"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["manual"]},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"]},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"]},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}}}},"required":["type","duration"]}]}},"append":{"default":false,"type":"boolean"}},"required":["type","lineup"]},{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/fallbacks":{"get":{"operationId":"GetChannelFallbacks","tags":["Channels"],"description":"Returns a channel's fallback programs.","parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/all/lineups":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/lineup":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/now_playing":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/transcode_config":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/channels/{channelId}/schedule-time-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{channelId}/schedule-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/schedule":{"get":{"tags":["Channels","Scheduling"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id","show"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","channelId","startTime","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","customShowId","order","direction","id","startTime","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"smartCollection":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","type","smartCollectionId","order","direction","id","smartCollection","isMissing"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter","show"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","type","channelId","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]}},"additionalProperties":false}}}}}}},"/api/channels/{id}/native-playback":{"get":{"tags":["Native"],"description":"Returns current and next playback items for native client players (tvOS, Android TV). Includes timing data for live TV simulation.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"channelName":{"type":"string"},"serverTimeMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]},"next":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]}},"required":["channelId","channelNumber","channelName","serverTimeMs","current"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows":{"get":{"tags":["Custom Shows"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"post":{"operationId":"createCustomShow","tags":["Custom Shows"],"description":"Creates a new Custom Show","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name","syncMediaSourceId","syncMediaSourceType","syncExternalPlaylistId"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"/api/custom-shows/{id}":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Custom Shows"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"enableSync":{"type":"boolean"}},"required":["enableSync"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"deleteCustomShow","tags":["Custom Shows"],"description":"Delets a custom show with the given ID","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/programs":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/sync":{"post":{"operationId":"syncCustomShow","tags":["Custom Shows"],"description":"Triggers an immediate sync for a custom show linked to an external playlist","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists":{"get":{"tags":["Filler Lists"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}}}}},"post":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}},"required":["name","programs"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}}}}},"/api/filler-lists/{id}":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists/{id}/programs":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"restrictSearchTo":{"type":"array","items":{"type":"string"}},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilterInput"},{"nullable":true,"enum":[null]}]},"sort":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","sortTitle","duration","originalReleaseDate","originalReleaseYear","addedAt","index"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]}},{"nullable":true,"enum":[null]}]}}},"restrictSeachTo":{"type":"array","items":{"type":"string"}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"expandParents":{"type":"boolean"}},"required":["query"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}}},"/api/programs/{id}/descendants":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/facets/{facetName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/SearchFilterInput"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}}},"/api/programs/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/program_groupings/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]}},{"type":"string"}]},"in":"query","name":"fallbackArtworkTypes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/programs/{id}/stream_details":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/children":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"channelId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["season"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Season"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["album"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicAlbum"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["episode"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Episode"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["track"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicTrack"}}},"required":["type","programs"],"additionalProperties":false}]},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/thumb":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"width","required":false},{"schema":{"type":"number"},"in":"query","name":"height","required":false},{"schema":{"default":true,"type":"boolean"},"in":"query","name":"upscale","required":false},{"schema":{"default":"proxy","type":"string","enum":["proxy","redirect"]},"in":"query","name":"method","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"useShowPoster","required":false},{"schema":{"default":"program","type":"string","enum":["program","grouping"]},"in":"query","name":"type","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/external-link":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":true,"type":"boolean"},"in":"query","name":"forward","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}},"302":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programming/{externalId}":{"get":{"operationId":"getProgramByExternalId","tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"externalId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/programming/batch/lookup":{"post":{"operationId":"batchGetProgramsByExternalIds","tags":["Programs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TerminalProgram"}}}}}}}},"/api/programming/shows/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"includeEpisodes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/seasons/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/shows/{id}/seasons":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/scan":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}}}}},"/api/media-sources":{"get":{"tags":["Media Source"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["jellyfin"]}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["emby"]}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","pathReplacements","type","mediaType","paths"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{mediaSourceId}":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}":{"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-libraries/{libraryId}":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked","mediaSource"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-libraries/{libraryId}/programs":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{mediaSourceId}/{libraryId}/status":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","enum":["in_progress"]},"startedAt":{"type":"number"},"percentComplete":{"type":"number","minimum":0,"maximum":100}},"required":["state","startedAt","percentComplete"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["not_scanning"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["queued"]}},"required":["state"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/refresh":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/status":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"}},"required":["healthy"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/foreignstatus":{"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"accessToken":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby"]},"username":{"type":"string"}},"required":["accessToken","uri","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"paths":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["type","paths"]}],"required":["true"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"healthy":{"type":"boolean","enum":[true]}},"required":["healthy"],"additionalProperties":false},{"type":"object","properties":{"healthy":{"type":"boolean","enum":[false]},"status":{"type":"string","enum":["unreachable","auth","timeout","bad_response","unknown"]}},"required":["healthy","status"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}":{"delete":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type","index"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","pathReplacements","type","mediaType","paths"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"]}}},"required":["preferences"]},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ffmpegPath":{"type":"string"}},"required":["ffmpegPath"]}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/transcode_configs":{"get":{"tags":["Settings","Transcode Configs"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"post":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/transcode_configs/{id}":{"get":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}},"delete":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/transcode_configs/{id}/copy":{"post":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/plex-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/xmltv-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/hdhr-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}}},"/api/system/health":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["healthy"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["info","warning","error"]},"context":{"type":"string"}},"required":["type","context"],"additionalProperties":false}]}}}}}}}},"/api/system/settings":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]}},"required":["rolledFileLimit"]},"categoryLogLevel":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},{"type":"null"}]}}}},"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}}},"server":{"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}}}},"required":["searchSettings"]}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}}},"/api/system/state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isDocker":{"type":"boolean"},"isPodman":{"type":"boolean"},"isInContainer":{"type":"boolean"}},"required":["isDocker","isPodman","isInContainer"],"additionalProperties":false}}}}}}},"/api/system/migration-state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"legacyMigration":{"default":false,"description":"Whether a legacy migration was performed","type":"boolean"},"isFreshSettings":{"default":true,"type":"boolean"},"hasMigratedTo1_0":{"default":false,"type":"boolean"}},"required":["legacyMigration","hasMigratedTo1_0"],"additionalProperties":false}}}}}}},"/api/system/fixers/{fixerId}/run":{"post":{"tags":["System"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"fixerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/settings/backup":{"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false}}}}}}},"/api/system/feature-flags":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}}},"/api/system/debug/nvidia":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/vaapi":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/logs/stream":{"get":{"parameters":[{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/logs":{"get":{"tags":["System","Logs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"download","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"lineLimit","required":false},{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/env":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/system/debug/loggers":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/guide/status":{"get":{"tags":["Guide"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/debug":{"get":{"tags":["Debug"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/channels":{"get":{"tags":["Guide"],"parameters":[{"schema":{},"in":"query","name":"dateFrom","required":true},{"schema":{},"in":"query","name":"dateTo","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/guide/channels/{id}":{"get":{"tags":["Guide"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"dateFrom","required":true},{"schema":{"type":"string"},"in":"query","name":"dateTo","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/plex/{mediaSourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"query","name":"searchParam","required":false},{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/MusicTrack"},{"$ref":"#/components/schemas/MusicAlbum"},{"$ref":"#/components/schemas/MusicArtist"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/plex/{mediaSourceId}/libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/collections":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/filters":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Meta":{"type":"object","properties":{"Type":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["movie","show","artist","photo","track","episode","season","album","folder"]},"title":{"type":"string"},"active":{"type":"boolean"},"Filter":{"type":"array","items":{"type":"object","properties":{"filter":{"type":"string"},"filterType":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"advanced":{"type":"boolean"}},"required":["filter","filterType","key","title","type"],"additionalProperties":false}},"Sort":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean"},"activeDirection":{"type":"string"},"default":{"type":"string"},"defaultDirection":{"type":"string"},"descKey":{"type":"string"},"firstCharacterKey":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["defaultDirection","descKey","key","title"],"additionalProperties":false}},"Field":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["key","title","type"],"additionalProperties":false}}},"required":["key","type","title","active"],"additionalProperties":false}},"FieldType":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"Operator":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["type","Operator"],"additionalProperties":false}}},"required":["Type","FieldType"],"additionalProperties":false}},"required":["Meta"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/tags":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"libraryKey","required":true},{"schema":{"type":"string"},"in":"query","name":"itemKey","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"size":{"type":"number"},"Directory":{"type":"array","items":{"type":"object","properties":{"fastKey":{"type":"string"},"thumb":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["size","Directory"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/items/{itemId}/children":{"get":{"parameters":[{"schema":{"type":"string","enum":["item","collection","playlist"]},"in":"query","name":"parentType","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}}}}}}}},"/api/jellyfin/login":{"post":{"operationId":"jellyfinLogin","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/user_libraries":{"get":{"operationId":"getJellyfinLibraries","parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/genres":{"get":{"operationId":"getJellyfinLibraryGenres","parameters":[{"schema":{"type":"string"},"in":"query","name":"includeItemTypes","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Items":{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"OriginalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ServerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"},"Etag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SourceType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PlaylistItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DateCreated":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"DateLastMediaAdded":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExtraType":{"anyOf":[{"type":"string","enum":["Unknown","Clip","Trailer","BehindTheScenes","DeletedScene","Interview","Scene","Sample","ThemeSong","ThemeVideo","Featurette","Short"]},{"nullable":true,"enum":[null]}]},"AirsBeforeSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsAfterSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsBeforeEpisodeNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CanDelete":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"CanDownload":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasLyrics":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasSubtitles":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"PreferredMetadataLanguage":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PreferredMetadataCountryCode":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ForcedSortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"PremiereDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExternalUrls":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Url":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaSources":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Protocol":{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},"Id":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderPath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderProtocol":{"anyOf":[{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Default","Grouping","Placeholder"]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Size":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsRemote":{"type":"boolean"},"ETag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ReadAtNativeFramerate":{"type":"boolean"},"IgnoreDts":{"type":"boolean"},"IgnoreIndex":{"type":"boolean"},"GenPtsInput":{"type":"boolean"},"SupportsTranscoding":{"type":"boolean"},"SupportsDirectStream":{"type":"boolean"},"SupportsDirectPlay":{"type":"boolean"},"IsInfiniteStream":{"type":"boolean"},"RequiresOpening":{"type":"boolean"},"OpenToken":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RequiresClosing":{"type":"boolean"},"LiveStreamId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BufferMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiresLooping":{"type":"boolean"},"SupportsProbing":{"type":"boolean"},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaAttachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"FileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Formats":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Bitrate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiredHttpHeaders":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"TranscodingUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TranscodingContainer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AnalyzeDurationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultAudioStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultSubtitleStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"CriticRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ProductionLocations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EnableMediaSourceDisplay":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"OfficialRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CustomRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Overview":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Taglines":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Genres":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"CommunityRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"CumulativeRunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProductionYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsPlaceHolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Number":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelNumber":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IndexNumberEnd":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ParentIndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProviderIds":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"IsHD":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsFolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ParentId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]},"People":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string"},"Role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Backdrop":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Primary":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Logo":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Thumb":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]}},"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["Name","Id"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Studios":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"GenreItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"ParentLogoItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"LocalTrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RecursiveItemCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ChildCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeasonId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SpecialFeatureCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DisplayPreferencesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Status":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AirTime":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"PrimaryImageAspectRatio":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Artists":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ArtistItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Album":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CollectionType":{"anyOf":[{"type":"string","enum":["unknown","movies","tvshows","music","musicvideos","trailers","homevideos","boxsets","books","photos","livetv","playlists","folders"]},{"nullable":true,"enum":[null]}]},"DisplayOrder":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtist":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtists":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"SeasonName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"PartCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MediaSourceCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ImageTags":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"BackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ScreenshotImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ParentLogoImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Primary":{"type":"object","additionalProperties":{"type":"string"}},"Art":{"type":"object","additionalProperties":{"type":"string"}},"Backdrop":{"type":"object","additionalProperties":{"type":"string"}},"Banner":{"type":"object","additionalProperties":{"type":"string"}},"Logo":{"type":"object","additionalProperties":{"type":"string"}},"Thumb":{"type":"object","additionalProperties":{"type":"string"}},"Disc":{"type":"object","additionalProperties":{"type":"string"}},"Box":{"type":"object","additionalProperties":{"type":"string"}},"Screenshot":{"type":"object","additionalProperties":{"type":"string"}},"Menu":{"type":"object","additionalProperties":{"type":"string"}},"Chapter":{"type":"object","additionalProperties":{"type":"string"}},"BoxRear":{"type":"object","additionalProperties":{"type":"string"}},"Profile":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"nullable":true,"enum":[null]}]},"SeriesStudio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"StartPositionTicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImagePath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageDateModified":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"ImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"MediaType":{"type":"string","enum":["Unknown","Video","Audio","Photo","Book"]},"EndDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"TrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MovieCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProgramCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"EpisodeCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SongCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AlbumCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ArtistCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MusicVideoCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"LockData":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CameraMake":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CameraModel":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Software":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ExposureTime":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"FocalLength":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Aperture":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ShutterSpeed":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Latitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Longitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Altitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsoSpeedRating":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesTimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProgramId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"StartDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"CompletionPercentage":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsRepeat":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"EpisodeTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsMovie":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSports":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSeries":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsLive":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsNews":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsKids":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsPremiere":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"TimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NormalizationGain":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Id","Type","MediaType"],"additionalProperties":false}},"TotalRecordCount":{"type":"number"},"StartIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Items","TotalRecordCount"],"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"operationId":"getJellyfinLibraryItems","parameters":[{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AirTime","CanDelete","CanDownload","ChannelInfo","Chapters","Trickplay","ChildCount","CumulativeRunTimeTicks","CustomRating","DateCreated","DateLastMediaAdded","DisplayPreferencesId","Etag","ExternalUrls","Genres","HomePageUrl","ItemCounts","MediaSourceCount","MediaSources","OriginalTitle","OfficialRating","Overview","ParentId","Path","People","PlayAccess","ProductionLocations","ProviderIds","PrimaryImageAspectRatio","RecursiveItemCount","Settings","ScreenshotImageTags","SeriesPrimaryImage","SeriesStudio","SortName","SpecialEpisodeNumbers","Studios","Taglines","Tags","RemoteTrailers","MediaStreams","SeasonUserData","ServiceName","ThemeSongIds","ThemeVideoIds","ExternalEtag","PresentationUniqueKey","InheritedParentalRatingValue","ExternalSeriesId","SeriesPresentationUniqueKey","DateLastRefreshed","DateLastSaved","RefreshState","ChannelImage","EnableMediaSourceDisplay","Width","Height","ExtraIds","LocalTrailerCount","IsHD","SpecialFeatureCount"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Default","AiredEpisodeOrder","Album","AlbumArtist","Artist","DateCreated","OfficialRating","DatePlayed","PremiereDate","StartDate","SortName","Name","Random","Runtime","CommunityRating","ProductionYear","PlayCount","CriticRating","IsFolder","IsUnplayed","IsPlayed","SeriesSortName","VideoBitRate","AirTime","Studio","IsFavoriteOrLiked","DateLastContentAdded","SeriesDatePlayed","ParentIndexNumber","IndexNumber","SimilarityScore","SearchScore"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/sessions":{"get":{"tags":["Sessions"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}}}}}},"/api/channels/{id}/sessions":{"get":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}},"201":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/emby/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/emby/{mediaSourceId}/user_libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/emby/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Budget","Chapters","ChildCount","DateCreated","Genres","HomePageUrl","IndexOptions","MediaStreams","Overview","ParentId","Path","People","ProviderIds","PrimaryImageAspectRatio","Revenue","SortName","Studios","Taglines","Etag","Tags","ProductionYear","PremiereDate","MediaSources","OfficialRating"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Album","AlbumArtist","Artist","Budget","CommunityRating","CriticRating","DateCreated","DatePlayed","PlayCount","PremiereDate","ProductionYear","SortName","Random","Revenue","Runtime","IsFolder"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Artist","AlbumArtist"]}}]},"in":"query","name":"artistType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/settings/media-source":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles":{"get":{"tags":["Stream Selection"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}},"usedByChannels":{"type":"number"},"usedByFillers":{"type":"number"},"usedByPrograms":{"type":"number"}},"required":["uuid","name","rules","usedByChannels","usedByFillers","usedByPrograms"],"additionalProperties":false}}}}}}},"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles/{id}":{"get":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/stream-selection-profiles/validate-expression":{"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"}},"required":["expression"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[true]}},"required":["valid"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["valid"],"additionalProperties":false}}}}}}},"/api/troubleshoot":{"post":{"tags":["Troubleshoot"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"testDurationSeconds":{"default":30,"type":"number","minimum":5,"maximum":120}},"required":["programId","channelId"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"systemInfo":{"type":"object","properties":{"tunarrVersion":{"type":"string"},"ffmpegVersion":{"type":"string"},"nodeVersion":{"type":"string"},"platform":{"type":"string"},"arch":{"type":"string"},"availableHwAccels":{"type":"array","items":{"type":"string"}}},"required":["tunarrVersion","ffmpegVersion","nodeVersion","platform","arch","availableHwAccels"],"additionalProperties":false},"mediaInfo":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"duration":{"type":"number"},"sourceType":{"type":"string"},"streamSourceType":{"type":"string"},"streamSourcePath":{"type":"string"},"videoStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"framerate":{"type":"string"},"pixelFormat":{"type":"string"},"bitDepth":{"type":"number"},"colorRange":{"type":"string"},"colorSpace":{"type":"string"},"colorTransfer":{"type":"string"},"colorPrimaries":{"type":"string"},"sampleAspectRatio":{"type":"string"},"displayAspectRatio":{"type":"string"},"bitrate":{"type":"number"}},"required":["index","codec","width","height"],"additionalProperties":false}},"audioStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false}},"subtitleStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false}}},"required":["title","type","duration","videoStreams","audioStreams","subtitleStreams"],"additionalProperties":false},"transcodeConfig":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false},"channelConfig":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},"streamSelection":{"type":"object","properties":{"profileName":{"type":"string"},"profileSource":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string"},"matched":{"type":"boolean"},"audioAction":{"type":"string"},"subtitleAction":{"type":"string"}},"required":["condition","matched"],"additionalProperties":false}},"selectedAudioStream":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false},"selectedSubtitleStream":{"anyOf":[{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"subtitleReason":{"type":"string"}},"required":["rules"],"additionalProperties":false},"pipeline":{"type":"object","properties":{"hardwareAccelMode":{"type":"string"},"builderType":{"type":"string"},"pipelineSteps":{"type":"array","items":{"type":"string"}},"ffmpegArgs":{"type":"array","items":{"type":"string"}},"ffmpegArgsString":{"type":"string"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"}}},"required":["hardwareAccelMode","builderType","pipelineSteps","ffmpegArgs","ffmpegArgsString","environmentVariables"],"additionalProperties":false},"testTranscode":{"type":"object","properties":{"exitCode":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"signal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"success":{"type":"boolean"},"stderrOutput":{"type":"string"},"durationProcessed":{"type":"string"},"hlsSessionId":{"type":"string"}},"required":["exitCode","signal","success","stderrOutput"],"additionalProperties":false},"ffmpegLog":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string"}},"required":["systemInfo","errors","timestamp"],"additionalProperties":false}}}}}}},"/api/trash":{"get":{"parameters":[{"schema":{"type":"array","items":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]}},"in":"query","name":"itemTypes","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/smart_collections":{"get":{"tags":["Smart Collections"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}}}}},"post":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["name","keywords"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/smart_collections/{id}":{"get":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["actor"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["writer"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["director"]}},"required":["name","type"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/program_groupings/batch/lookup":{"post":{"operationId":"batchGetProgramGroupingsByExternalIds","tags":["Program Groupings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}}}}}},"/api/version":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tunarr":{"type":"string"},"ffmpeg":{"type":"string"},"nodejs":{"type":"string"}},"required":["tunarr","ffmpeg","nodejs"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-info":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"audioEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"videoEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"hardwareAccelerationTypes":{"type":"array","items":{"type":"string"}}},"required":["audioEncoders","videoEncoders","hardwareAccelerationTypes"],"additionalProperties":false}}}}}}},"/api/upload/image":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"fileUrl":{"type":"string"}},"required":["name","fileUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/xmltv-last-refresh":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv.xml":{"head":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/channels.m3u":{"head":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["Streaming"],"description":"Clears the channels m3u cache","responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ffmpeg/playlist":{"get":{"tags":["Streaming"],"description":"Return a playlist in ffconcat file format for the given channel","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"channel","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}":{"get":{"tags":["Streaming"],"parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.ts":{"get":{"tags":["Streaming"],"description":"Returns a continuous, direct MPEGTS video stream for the given channel","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.m3u8":{"head":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}/item-stream.ts":{"get":{"tags":["Native"],"description":"Returns a finite MPEG-TS stream for the single lineup item that started at time t (epoch ms). Stream closes cleanly at EOF when the item ends.","parameters":[{"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"in":"query","name":"t","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}}},"servers":[],"tags":[{"name":"Channels"},{"name":"Custom Shows"},{"name":"Filler Lists"},{"name":"Guide"},{"name":"Media Source"},{"name":"Programs"},{"name":"Sessions"},{"name":"Streaming"},{"name":"HDHR"},{"name":"Settings"},{"name":"System"},{"name":"Tasks"},{"name":"Debug"}]} \ No newline at end of file +{"openapi":"3.0.3","info":{"title":"Tunarr","description":"Tunarr API","version":"1.2.0-dev.1"},"components":{"schemas":{"TerminalProgramInput":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"$ref":"#/components/schemas/EpisodeInput"},{"$ref":"#/components/schemas/MusicTrackInput"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]}]},"ShowInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"]},"SeasonInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/ShowInput"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"EpisodeInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/SeasonInput"},"show":{"$ref":"#/components/schemas/ShowInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"MusicArtistInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicAlbumInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicTrackInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbumInput"},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"PlexFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"]}]},"SearchFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"]}},"required":["key","type","op","value"]}]}},"required":["type","fieldSpec"]}]},"TerminalProgram":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/MusicTrack"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]},"Show":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Season":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/Show"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Episode":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/Season"},"show":{"$ref":"#/components/schemas/Show"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"MusicArtist":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicAlbum":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"artist":{"$ref":"#/components/schemas/MusicArtist"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicTrack":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbum"},"artist":{"$ref":"#/components/schemas/MusicArtist"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"PlexFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"],"additionalProperties":false}]},"SearchFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"],"additionalProperties":false}},"required":["key","type","op","value"],"additionalProperties":false}]}},"required":["type","fieldSpec"],"additionalProperties":false}]}}},"paths":{"/api/tasks":{"get":{"tags":["System","Tasks"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scheduledTasks":{"type":"array","items":{"type":"object","properties":{"running":{"type":"boolean"},"lastExecution":{"type":"string"},"lastExecutionEpoch":{"type":"number"},"nextExecution":{"type":"string"},"nextExecutionEpoch":{"type":"number"},"args":{"anyOf":[{"anyOf":[{"type":"object","properties":{},"additionalProperties":false},{"type":"string"}]}]}},"required":["running","args"],"additionalProperties":false}}},"required":["id","name","scheduledTasks"],"additionalProperties":false}}}}}}}},"/api/tasks/{id}/run":{"post":{"tags":["System","Tasks"],"requestBody":{"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"}]},"in":"query","name":"background","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels":{"get":{"operationId":"getChannels","tags":["Channels"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"post":{"operationId":"createChannelV2","tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["new"]},"channel":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}},"required":["type","channel"]},{"type":"object","properties":{"type":{"type":"string","enum":["copy"]},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","channelId"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}}}}},"/api/channels/{id}":{"get":{"operationId":"getChannelsByNumberV2","tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/programs":{"get":{"tags":["Channels"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/TerminalProgram"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/shows":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Show"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/artists":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/MusicArtist"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/programming":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}},"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["manual"]},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"]},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"]},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}}}},"required":["type","duration"]}]}},"append":{"default":false,"type":"boolean"}},"required":["type","lineup"]},{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/fallbacks":{"get":{"operationId":"GetChannelFallbacks","tags":["Channels"],"description":"Returns a channel's fallback programs.","parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/all/lineups":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/lineup":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/now_playing":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/transcode_config":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/channels/{channelId}/schedule-time-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{channelId}/schedule-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/schedule":{"get":{"tags":["Channels","Scheduling"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id","show"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","channelId","startTime","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","customShowId","order","direction","id","startTime","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"smartCollection":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","type","smartCollectionId","order","direction","id","smartCollection","isMissing"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter","show"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","type","channelId","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]}},"additionalProperties":false}}}}}}},"/api/channels/{id}/native-playback":{"get":{"tags":["Native"],"description":"Returns current and next playback items for native client players (tvOS, Android TV). Includes timing data for live TV simulation.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"channelName":{"type":"string"},"serverTimeMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]},"next":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]}},"required":["channelId","channelNumber","channelName","serverTimeMs","current"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows":{"get":{"tags":["Custom Shows"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"post":{"operationId":"createCustomShow","tags":["Custom Shows"],"description":"Creates a new Custom Show","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name","syncMediaSourceId","syncMediaSourceType","syncExternalPlaylistId"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"/api/custom-shows/{id}":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Custom Shows"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"enableSync":{"type":"boolean"}},"required":["enableSync"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"deleteCustomShow","tags":["Custom Shows"],"description":"Delets a custom show with the given ID","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/programs":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/sync":{"post":{"operationId":"syncCustomShow","tags":["Custom Shows"],"description":"Triggers an immediate sync for a custom show linked to an external playlist","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists":{"get":{"tags":["Filler Lists"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}}}}},"post":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}},"required":["name","programs"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}}}}},"/api/filler-lists/{id}":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists/{id}/programs":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"restrictSearchTo":{"type":"array","items":{"type":"string"}},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilterInput"},{"nullable":true,"enum":[null]}]},"sort":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","sortTitle","duration","originalReleaseDate","originalReleaseYear","addedAt","index"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]}},{"nullable":true,"enum":[null]}]}}},"restrictSeachTo":{"type":"array","items":{"type":"string"}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"expandParents":{"type":"boolean"}},"required":["query"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}}},"/api/programs/{id}/descendants":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/facets/{facetName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/SearchFilterInput"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}}},"/api/programs/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/program_groupings/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]}},{"type":"string"}]},"in":"query","name":"fallbackArtworkTypes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/programs/{id}/stream_details":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/children":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"channelId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["season"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Season"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["album"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicAlbum"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["episode"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Episode"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["track"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicTrack"}}},"required":["type","programs"],"additionalProperties":false}]},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/thumb":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"width","required":false},{"schema":{"type":"number"},"in":"query","name":"height","required":false},{"schema":{"default":true,"type":"boolean"},"in":"query","name":"upscale","required":false},{"schema":{"default":"proxy","type":"string","enum":["proxy","redirect"]},"in":"query","name":"method","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"useShowPoster","required":false},{"schema":{"default":"program","type":"string","enum":["program","grouping"]},"in":"query","name":"type","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/external-link":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":true,"type":"boolean"},"in":"query","name":"forward","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}},"302":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programming/{externalId}":{"get":{"operationId":"getProgramByExternalId","tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"externalId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/programming/batch/lookup":{"post":{"operationId":"batchGetProgramsByExternalIds","tags":["Programs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TerminalProgram"}}}}}}}},"/api/programming/shows/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"includeEpisodes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/seasons/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/shows/{id}/seasons":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/scan":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}}}}},"/api/media-sources":{"get":{"tags":["Media Source"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","pathReplacements","type","mediaType","paths"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{mediaSourceId}":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}":{"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-libraries/{libraryId}":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked","mediaSource"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-libraries/{libraryId}/programs":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{mediaSourceId}/{libraryId}/status":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","enum":["in_progress"]},"startedAt":{"type":"number"},"percentComplete":{"type":"number","minimum":0,"maximum":100}},"required":["state","startedAt","percentComplete"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["not_scanning"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["queued"]}},"required":["state"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/refresh":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/status":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"}},"required":["healthy"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/foreignstatus":{"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"accessToken":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby"]},"username":{"type":"string"}},"required":["accessToken","uri","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"paths":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["type","paths"]}],"required":["true"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"healthy":{"type":"boolean","enum":[true]}},"required":["healthy"],"additionalProperties":false},{"type":"object","properties":{"healthy":{"type":"boolean","enum":[false]},"status":{"type":"string","enum":["unreachable","auth","timeout","bad_response","unknown"]}},"required":["healthy","status"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}":{"delete":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","username","type","index"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","pathReplacements","type","mediaType","paths"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"]}}},"required":["preferences"]},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ffmpegPath":{"type":"string"}},"required":["ffmpegPath"]}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/transcode_configs":{"get":{"tags":["Settings","Transcode Configs"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"post":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/transcode_configs/{id}":{"get":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}},"delete":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/transcode_configs/{id}/copy":{"post":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/plex-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/xmltv-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/hdhr-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}}},"/api/system/health":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["healthy"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["info","warning","error"]},"context":{"type":"string"}},"required":["type","context"],"additionalProperties":false}]}}}}}}}},"/api/system/settings":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]}},"required":["rolledFileLimit"]},"categoryLogLevel":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},{"type":"null"}]}}}},"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}}},"server":{"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}}}},"required":["searchSettings"]}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}}},"/api/system/state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isDocker":{"type":"boolean"},"isPodman":{"type":"boolean"},"isInContainer":{"type":"boolean"}},"required":["isDocker","isPodman","isInContainer"],"additionalProperties":false}}}}}}},"/api/system/migration-state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"legacyMigration":{"default":false,"description":"Whether a legacy migration was performed","type":"boolean"},"isFreshSettings":{"default":true,"type":"boolean"},"hasMigratedTo1_0":{"default":false,"type":"boolean"}},"required":["legacyMigration","hasMigratedTo1_0"],"additionalProperties":false}}}}}}},"/api/system/fixers/{fixerId}/run":{"post":{"tags":["System"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"fixerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/settings/backup":{"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false}}}}}}},"/api/system/feature-flags":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}}},"/api/system/debug/nvidia":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/vaapi":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/logs/stream":{"get":{"parameters":[{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/logs":{"get":{"tags":["System","Logs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"download","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"lineLimit","required":false},{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/env":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/system/debug/loggers":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/guide/status":{"get":{"tags":["Guide"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/debug":{"get":{"tags":["Debug"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/channels":{"get":{"tags":["Guide"],"parameters":[{"schema":{},"in":"query","name":"dateFrom","required":true},{"schema":{},"in":"query","name":"dateTo","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/guide/channels/{id}":{"get":{"tags":["Guide"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"dateFrom","required":true},{"schema":{"type":"string"},"in":"query","name":"dateTo","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/plex/{mediaSourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"query","name":"searchParam","required":false},{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/MusicTrack"},{"$ref":"#/components/schemas/MusicAlbum"},{"$ref":"#/components/schemas/MusicArtist"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/plex/{mediaSourceId}/libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/collections":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/filters":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Meta":{"type":"object","properties":{"Type":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["movie","show","artist","photo","track","episode","season","album","folder"]},"title":{"type":"string"},"active":{"type":"boolean"},"Filter":{"type":"array","items":{"type":"object","properties":{"filter":{"type":"string"},"filterType":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"advanced":{"type":"boolean"}},"required":["filter","filterType","key","title","type"],"additionalProperties":false}},"Sort":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean"},"activeDirection":{"type":"string"},"default":{"type":"string"},"defaultDirection":{"type":"string"},"descKey":{"type":"string"},"firstCharacterKey":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["defaultDirection","descKey","key","title"],"additionalProperties":false}},"Field":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["key","title","type"],"additionalProperties":false}}},"required":["key","type","title","active"],"additionalProperties":false}},"FieldType":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"Operator":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["type","Operator"],"additionalProperties":false}}},"required":["Type","FieldType"],"additionalProperties":false}},"required":["Meta"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/tags":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"libraryKey","required":true},{"schema":{"type":"string"},"in":"query","name":"itemKey","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"size":{"type":"number"},"Directory":{"type":"array","items":{"type":"object","properties":{"fastKey":{"type":"string"},"thumb":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["size","Directory"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/items/{itemId}/children":{"get":{"parameters":[{"schema":{"type":"string","enum":["item","collection","playlist"]},"in":"query","name":"parentType","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}}}}}}}},"/api/jellyfin/login":{"post":{"operationId":"jellyfinLogin","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/user_libraries":{"get":{"operationId":"getJellyfinLibraries","parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/genres":{"get":{"operationId":"getJellyfinLibraryGenres","parameters":[{"schema":{"type":"string"},"in":"query","name":"includeItemTypes","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Items":{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"OriginalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ServerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"},"Etag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SourceType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PlaylistItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DateCreated":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"DateLastMediaAdded":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExtraType":{"anyOf":[{"type":"string","enum":["Unknown","Clip","Trailer","BehindTheScenes","DeletedScene","Interview","Scene","Sample","ThemeSong","ThemeVideo","Featurette","Short"]},{"nullable":true,"enum":[null]}]},"AirsBeforeSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsAfterSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsBeforeEpisodeNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CanDelete":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"CanDownload":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasLyrics":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasSubtitles":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"PreferredMetadataLanguage":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PreferredMetadataCountryCode":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ForcedSortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"PremiereDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExternalUrls":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Url":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaSources":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Protocol":{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},"Id":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderPath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderProtocol":{"anyOf":[{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Default","Grouping","Placeholder"]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Size":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsRemote":{"type":"boolean"},"ETag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ReadAtNativeFramerate":{"type":"boolean"},"IgnoreDts":{"type":"boolean"},"IgnoreIndex":{"type":"boolean"},"GenPtsInput":{"type":"boolean"},"SupportsTranscoding":{"type":"boolean"},"SupportsDirectStream":{"type":"boolean"},"SupportsDirectPlay":{"type":"boolean"},"IsInfiniteStream":{"type":"boolean"},"RequiresOpening":{"type":"boolean"},"OpenToken":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RequiresClosing":{"type":"boolean"},"LiveStreamId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BufferMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiresLooping":{"type":"boolean"},"SupportsProbing":{"type":"boolean"},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaAttachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"FileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Formats":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Bitrate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiredHttpHeaders":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"TranscodingUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TranscodingContainer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AnalyzeDurationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultAudioStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultSubtitleStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"CriticRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ProductionLocations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EnableMediaSourceDisplay":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"OfficialRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CustomRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Overview":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Taglines":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Genres":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"CommunityRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"CumulativeRunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProductionYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsPlaceHolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Number":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelNumber":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IndexNumberEnd":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ParentIndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProviderIds":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"IsHD":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsFolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ParentId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]},"People":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string"},"Role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Backdrop":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Primary":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Logo":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Thumb":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]}},"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["Name","Id"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Studios":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"GenreItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"ParentLogoItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"LocalTrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RecursiveItemCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ChildCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeasonId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SpecialFeatureCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DisplayPreferencesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Status":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AirTime":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"PrimaryImageAspectRatio":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Artists":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ArtistItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Album":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CollectionType":{"anyOf":[{"type":"string","enum":["unknown","movies","tvshows","music","musicvideos","trailers","homevideos","boxsets","books","photos","livetv","playlists","folders"]},{"nullable":true,"enum":[null]}]},"DisplayOrder":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtist":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtists":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"SeasonName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"PartCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MediaSourceCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ImageTags":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"BackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ScreenshotImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ParentLogoImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Primary":{"type":"object","additionalProperties":{"type":"string"}},"Art":{"type":"object","additionalProperties":{"type":"string"}},"Backdrop":{"type":"object","additionalProperties":{"type":"string"}},"Banner":{"type":"object","additionalProperties":{"type":"string"}},"Logo":{"type":"object","additionalProperties":{"type":"string"}},"Thumb":{"type":"object","additionalProperties":{"type":"string"}},"Disc":{"type":"object","additionalProperties":{"type":"string"}},"Box":{"type":"object","additionalProperties":{"type":"string"}},"Screenshot":{"type":"object","additionalProperties":{"type":"string"}},"Menu":{"type":"object","additionalProperties":{"type":"string"}},"Chapter":{"type":"object","additionalProperties":{"type":"string"}},"BoxRear":{"type":"object","additionalProperties":{"type":"string"}},"Profile":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"nullable":true,"enum":[null]}]},"SeriesStudio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"StartPositionTicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImagePath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageDateModified":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"ImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"MediaType":{"type":"string","enum":["Unknown","Video","Audio","Photo","Book"]},"EndDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"TrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MovieCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProgramCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"EpisodeCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SongCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AlbumCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ArtistCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MusicVideoCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"LockData":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CameraMake":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CameraModel":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Software":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ExposureTime":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"FocalLength":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Aperture":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ShutterSpeed":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Latitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Longitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Altitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsoSpeedRating":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesTimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProgramId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"StartDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"CompletionPercentage":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsRepeat":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"EpisodeTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsMovie":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSports":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSeries":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsLive":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsNews":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsKids":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsPremiere":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"TimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NormalizationGain":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Id","Type","MediaType"],"additionalProperties":false}},"TotalRecordCount":{"type":"number"},"StartIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Items","TotalRecordCount"],"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"operationId":"getJellyfinLibraryItems","parameters":[{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AirTime","CanDelete","CanDownload","ChannelInfo","Chapters","Trickplay","ChildCount","CumulativeRunTimeTicks","CustomRating","DateCreated","DateLastMediaAdded","DisplayPreferencesId","Etag","ExternalUrls","Genres","HomePageUrl","ItemCounts","MediaSourceCount","MediaSources","OriginalTitle","OfficialRating","Overview","ParentId","Path","People","PlayAccess","ProductionLocations","ProviderIds","PrimaryImageAspectRatio","RecursiveItemCount","Settings","ScreenshotImageTags","SeriesPrimaryImage","SeriesStudio","SortName","SpecialEpisodeNumbers","Studios","Taglines","Tags","RemoteTrailers","MediaStreams","SeasonUserData","ServiceName","ThemeSongIds","ThemeVideoIds","ExternalEtag","PresentationUniqueKey","InheritedParentalRatingValue","ExternalSeriesId","SeriesPresentationUniqueKey","DateLastRefreshed","DateLastSaved","RefreshState","ChannelImage","EnableMediaSourceDisplay","Width","Height","ExtraIds","LocalTrailerCount","IsHD","SpecialFeatureCount"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Default","AiredEpisodeOrder","Album","AlbumArtist","Artist","DateCreated","OfficialRating","DatePlayed","PremiereDate","StartDate","SortName","Name","Random","Runtime","CommunityRating","ProductionYear","PlayCount","CriticRating","IsFolder","IsUnplayed","IsPlayed","SeriesSortName","VideoBitRate","AirTime","Studio","IsFavoriteOrLiked","DateLastContentAdded","SeriesDatePlayed","ParentIndexNumber","IndexNumber","SimilarityScore","SearchScore"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/sessions":{"get":{"tags":["Sessions"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}}}}}},"/api/channels/{id}/sessions":{"get":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}},"201":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/emby/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/emby/{mediaSourceId}/user_libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/emby/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Budget","Chapters","ChildCount","DateCreated","Genres","HomePageUrl","IndexOptions","MediaStreams","Overview","ParentId","Path","People","ProviderIds","PrimaryImageAspectRatio","Revenue","SortName","Studios","Taglines","Etag","Tags","ProductionYear","PremiereDate","MediaSources","OfficialRating"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Album","AlbumArtist","Artist","Budget","CommunityRating","CriticRating","DateCreated","DatePlayed","PlayCount","PremiereDate","ProductionYear","SortName","Random","Revenue","Runtime","IsFolder"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Artist","AlbumArtist"]}}]},"in":"query","name":"artistType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/settings/media-source":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles":{"get":{"tags":["Stream Selection"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}},"usedByChannels":{"type":"number"},"usedByFillers":{"type":"number"},"usedByPrograms":{"type":"number"}},"required":["uuid","name","rules","usedByChannels","usedByFillers","usedByPrograms"],"additionalProperties":false}}}}}}},"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles/{id}":{"get":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/stream-selection-profiles/validate-expression":{"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"}},"required":["expression"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[true]}},"required":["valid"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["valid"],"additionalProperties":false}}}}}}},"/api/troubleshoot":{"post":{"tags":["Troubleshoot"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"testDurationSeconds":{"default":30,"type":"number","minimum":5,"maximum":120}},"required":["programId","channelId"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"systemInfo":{"type":"object","properties":{"tunarrVersion":{"type":"string"},"ffmpegVersion":{"type":"string"},"nodeVersion":{"type":"string"},"platform":{"type":"string"},"arch":{"type":"string"},"availableHwAccels":{"type":"array","items":{"type":"string"}}},"required":["tunarrVersion","ffmpegVersion","nodeVersion","platform","arch","availableHwAccels"],"additionalProperties":false},"mediaInfo":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"duration":{"type":"number"},"sourceType":{"type":"string"},"streamSourceType":{"type":"string"},"streamSourcePath":{"type":"string"},"videoStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"framerate":{"type":"string"},"pixelFormat":{"type":"string"},"bitDepth":{"type":"number"},"colorRange":{"type":"string"},"colorSpace":{"type":"string"},"colorTransfer":{"type":"string"},"colorPrimaries":{"type":"string"},"sampleAspectRatio":{"type":"string"},"displayAspectRatio":{"type":"string"},"bitrate":{"type":"number"}},"required":["index","codec","width","height"],"additionalProperties":false}},"audioStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false}},"subtitleStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false}}},"required":["title","type","duration","videoStreams","audioStreams","subtitleStreams"],"additionalProperties":false},"transcodeConfig":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false},"channelConfig":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},"streamSelection":{"type":"object","properties":{"profileName":{"type":"string"},"profileSource":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string"},"matched":{"type":"boolean"},"audioAction":{"type":"string"},"subtitleAction":{"type":"string"}},"required":["condition","matched"],"additionalProperties":false}},"selectedAudioStream":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false},"selectedSubtitleStream":{"anyOf":[{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"subtitleReason":{"type":"string"}},"required":["rules"],"additionalProperties":false},"pipeline":{"type":"object","properties":{"hardwareAccelMode":{"type":"string"},"builderType":{"type":"string"},"pipelineSteps":{"type":"array","items":{"type":"string"}},"ffmpegArgs":{"type":"array","items":{"type":"string"}},"ffmpegArgsString":{"type":"string"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"}}},"required":["hardwareAccelMode","builderType","pipelineSteps","ffmpegArgs","ffmpegArgsString","environmentVariables"],"additionalProperties":false},"testTranscode":{"type":"object","properties":{"exitCode":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"signal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"success":{"type":"boolean"},"stderrOutput":{"type":"string"},"durationProcessed":{"type":"string"},"hlsSessionId":{"type":"string"}},"required":["exitCode","signal","success","stderrOutput"],"additionalProperties":false},"ffmpegLog":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string"}},"required":["systemInfo","errors","timestamp"],"additionalProperties":false}}}}}}},"/api/trash":{"get":{"parameters":[{"schema":{"type":"array","items":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]}},"in":"query","name":"itemTypes","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/smart_collections":{"get":{"tags":["Smart Collections"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}}}}},"post":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["name","keywords"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/smart_collections/{id}":{"get":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["actor"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["writer"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["director"]}},"required":["name","type"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/program_groupings/batch/lookup":{"post":{"operationId":"batchGetProgramGroupingsByExternalIds","tags":["Program Groupings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}}}}}},"/api/version":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tunarr":{"type":"string"},"ffmpeg":{"type":"string"},"nodejs":{"type":"string"}},"required":["tunarr","ffmpeg","nodejs"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-info":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"audioEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"videoEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"hardwareAccelerationTypes":{"type":"array","items":{"type":"string"}}},"required":["audioEncoders","videoEncoders","hardwareAccelerationTypes"],"additionalProperties":false}}}}}}},"/api/upload/image":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"fileUrl":{"type":"string"}},"required":["name","fileUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/xmltv-last-refresh":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv.xml":{"head":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/channels.m3u":{"head":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["Streaming"],"description":"Clears the channels m3u cache","responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ffmpeg/playlist":{"get":{"tags":["Streaming"],"description":"Return a playlist in ffconcat file format for the given channel","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"channel","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}":{"get":{"tags":["Streaming"],"parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.ts":{"get":{"tags":["Streaming"],"description":"Returns a continuous, direct MPEGTS video stream for the given channel","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.m3u8":{"head":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}/item-stream.ts":{"get":{"tags":["Native"],"description":"Returns a finite MPEG-TS stream for the single lineup item that started at time t (epoch ms). Stream closes cleanly at EOF when the item ends.","parameters":[{"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"in":"query","name":"t","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}}},"servers":[],"tags":[{"name":"Channels"},{"name":"Custom Shows"},{"name":"Filler Lists"},{"name":"Guide"},{"name":"Media Source"},{"name":"Programs"},{"name":"Sessions"},{"name":"Streaming"},{"name":"HDHR"},{"name":"Settings"},{"name":"System"},{"name":"Tasks"},{"name":"Debug"}]} \ No newline at end of file diff --git a/server/src/api/debug/debugJellyfinApi.ts b/server/src/api/debug/debugJellyfinApi.ts index f983a7429..2f43e5156 100644 --- a/server/src/api/debug/debugJellyfinApi.ts +++ b/server/src/api/debug/debugJellyfinApi.ts @@ -43,6 +43,7 @@ export const DebugJellyfinApiRouter: RouterPluginAsyncCallback = async ( mediaType: null, paths: [], replacePaths: [], + sendPlayStatusUpdates: false, }, }); @@ -84,6 +85,7 @@ export const DebugJellyfinApiRouter: RouterPluginAsyncCallback = async ( mediaType: null, paths: [], replacePaths: [], + sendPlayStatusUpdates: false, }, }); diff --git a/server/src/api/mediaSourceApi.ts b/server/src/api/mediaSourceApi.ts index e55487686..a064657be 100644 --- a/server/src/api/mediaSourceApi.ts +++ b/server/src/api/mediaSourceApi.ts @@ -646,6 +646,7 @@ export const mediaSourceRouter: RouterPluginAsyncCallback = async ( paths: [], mediaType: null, replacePaths: [], + sendPlayStatusUpdates: false, }, }); @@ -666,6 +667,7 @@ export const mediaSourceRouter: RouterPluginAsyncCallback = async ( paths: [], mediaType: null, replacePaths: [], + sendPlayStatusUpdates: false, }, }); @@ -686,6 +688,7 @@ export const mediaSourceRouter: RouterPluginAsyncCallback = async ( paths: [], mediaType: null, replacePaths: [], + sendPlayStatusUpdates: false, }, }); @@ -936,6 +939,7 @@ export const mediaSourceRouter: RouterPluginAsyncCallback = async ( localPath: replace.localPath, serverPath: replace.serverPath, })), + sendPlayStatusUpdates: source.sendPlayStatusUpdates ?? false, }) satisfies StrictExtract< MediaSourceSettings, { type: 'plex' | 'jellyfin' | 'emby' } diff --git a/server/src/db/mediaSourceDB.ts b/server/src/db/mediaSourceDB.ts index ebbe04076..7d68a3a78 100644 --- a/server/src/db/mediaSourceDB.ts +++ b/server/src/db/mediaSourceDB.ts @@ -260,6 +260,10 @@ export class MediaSourceDB { uri: trimEnd(updateReq.uri, '/'), accessToken: updateReq.accessToken, sendGuideUpdates: booleanToNumber(sendGuideUpdates), + sendPlayStatusUpdates: + updateReq.type === 'plex' || updateReq.type === 'jellyfin' + ? booleanToNumber(updateReq.sendPlayStatusUpdates ?? false) + : 0, updatedAt: +dayjs(), // This allows clearing the values userId: updateReq.userId, diff --git a/server/src/db/schema/MediaSource.ts b/server/src/db/schema/MediaSource.ts index 271176e51..733b77ca3 100644 --- a/server/src/db/schema/MediaSource.ts +++ b/server/src/db/schema/MediaSource.ts @@ -31,7 +31,7 @@ export const MediaSource = sqliteTable( name: text().notNull().$type(), sendChannelUpdates: integer({ mode: 'boolean' }).default(false), sendGuideUpdates: integer({ mode: 'boolean' }).default(false), - // sendPlayStatusUpdates: integer({ mode: 'boolean' }).default(false), + sendPlayStatusUpdates: integer({ mode: 'boolean' }).default(false), type: text({ enum: MediaSourceTypes }).notNull(), uri: text().notNull(), username: text(), diff --git a/server/src/migration/DirectMigrationProvider.ts b/server/src/migration/DirectMigrationProvider.ts index c93dfe109..097550ad9 100644 --- a/server/src/migration/DirectMigrationProvider.ts +++ b/server/src/migration/DirectMigrationProvider.ts @@ -227,6 +227,9 @@ export class DirectMigrationProvider implements MigrationProvider { migration1777908252: makeMigrationFromSqlFile( './sql/0044_useful_groot.sql', ), + migration1779655043: makeMigrationFromSqlFile( + './sql/0045_lean_violations.sql', + ), } satisfies Record, wrapWithTransaction, ); diff --git a/server/src/migration/db/sql/0045_lean_violations.sql b/server/src/migration/db/sql/0045_lean_violations.sql new file mode 100644 index 000000000..38e230fb0 --- /dev/null +++ b/server/src/migration/db/sql/0045_lean_violations.sql @@ -0,0 +1 @@ +ALTER TABLE `media_source` ADD `send_play_status_updates` integer DEFAULT false; \ No newline at end of file diff --git a/server/src/migration/db/sql/meta/0045_snapshot.json b/server/src/migration/db/sql/meta/0045_snapshot.json new file mode 100644 index 000000000..e33f3f1c1 --- /dev/null +++ b/server/src/migration/db/sql/meta/0045_snapshot.json @@ -0,0 +1,4175 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "882cf990-bbce-46d7-91ba-c2227a3f2098", + "prevId": "7fc76602-2332-46b5-aab6-c41eacbdad68", + "tables": { + "artwork": { + "name": "artwork", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "cache_path": { + "name": "cache_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source_path": { + "name": "source_path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "artwork_type": { + "name": "artwork_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "blur_hash43": { + "name": "blur_hash43", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "blur_hash64": { + "name": "blur_hash64", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "grouping_id": { + "name": "grouping_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "credit_id": { + "name": "credit_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "artwork_program_idx": { + "name": "artwork_program_idx", + "columns": [ + "program_id" + ], + "isUnique": false + }, + "artwork_grouping_idx": { + "name": "artwork_grouping_idx", + "columns": [ + "grouping_id" + ], + "isUnique": false + }, + "artwork_credit_idx": { + "name": "artwork_credit_idx", + "columns": [ + "credit_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "artwork_program_id_program_uuid_fk": { + "name": "artwork_program_id_program_uuid_fk", + "tableFrom": "artwork", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "artwork_grouping_id_program_grouping_uuid_fk": { + "name": "artwork_grouping_id_program_grouping_uuid_fk", + "tableFrom": "artwork", + "tableTo": "program_grouping", + "columnsFrom": [ + "grouping_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "artwork_credit_id_credit_uuid_fk": { + "name": "artwork_credit_id_credit_uuid_fk", + "tableFrom": "artwork", + "tableTo": "credit", + "columnsFrom": [ + "credit_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "cached_image": { + "name": "cached_image", + "columns": { + "hash": { + "name": "hash", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "mime_type": { + "name": "mime_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "url": { + "name": "url", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "channel": { + "name": "channel", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "disable_filler_overlay": { + "name": "disable_filler_overlay", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "duration": { + "name": "duration", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "filler_repeat_cooldown": { + "name": "filler_repeat_cooldown", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "group_title": { + "name": "group_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "guide_flex_title": { + "name": "guide_flex_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "guide_minimum_duration": { + "name": "guide_minimum_duration", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "number": { + "name": "number", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "offline": { + "name": "offline", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "start_time": { + "name": "start_time", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "stealth": { + "name": "stealth", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "stream_mode": { + "name": "stream_mode", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'hls'" + }, + "transcoding": { + "name": "transcoding", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "transcode_config_id": { + "name": "transcode_config_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "watermark": { + "name": "watermark", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "subtitles_enabled": { + "name": "subtitles_enabled", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "stream_selection_profile_id": { + "name": "stream_selection_profile_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "channel_number_unique": { + "name": "channel_number_unique", + "columns": [ + "number" + ], + "isUnique": true + } + }, + "foreignKeys": { + "channel_stream_selection_profile_id_stream_selection_profiles_uuid_fk": { + "name": "channel_stream_selection_profile_id_stream_selection_profiles_uuid_fk", + "tableFrom": "channel", + "tableTo": "stream_selection_profiles", + "columnsFrom": [ + "stream_selection_profile_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "channel_stream_mode_check": { + "name": "channel_stream_mode_check", + "value": "\"channel\".\"stream_mode\" in ('hls', 'hls_slower', 'mpegts', 'hls_direct', 'hls_direct_v2')" + } + } + }, + "channel_fallback": { + "name": "channel_fallback", + "columns": { + "channel_uuid": { + "name": "channel_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_uuid": { + "name": "program_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "channel_fallback_channel_uuid_channel_uuid_fk": { + "name": "channel_fallback_channel_uuid_channel_uuid_fk", + "tableFrom": "channel_fallback", + "tableTo": "channel", + "columnsFrom": [ + "channel_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "channel_fallback_program_uuid_program_uuid_fk": { + "name": "channel_fallback_program_uuid_program_uuid_fk", + "tableFrom": "channel_fallback", + "tableTo": "program", + "columnsFrom": [ + "program_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "channel_fallback_channel_uuid_program_uuid_pk": { + "columns": [ + "channel_uuid", + "program_uuid" + ], + "name": "channel_fallback_channel_uuid_program_uuid_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "channel_filler_show": { + "name": "channel_filler_show", + "columns": { + "channel_uuid": { + "name": "channel_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "filler_show_uuid": { + "name": "filler_show_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "cooldown": { + "name": "cooldown", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "weight": { + "name": "weight", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "channel_filler_show_channel_uuid_channel_uuid_fk": { + "name": "channel_filler_show_channel_uuid_channel_uuid_fk", + "tableFrom": "channel_filler_show", + "tableTo": "channel", + "columnsFrom": [ + "channel_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "channel_filler_show_filler_show_uuid_filler_show_uuid_fk": { + "name": "channel_filler_show_filler_show_uuid_filler_show_uuid_fk", + "tableFrom": "channel_filler_show", + "tableTo": "filler_show", + "columnsFrom": [ + "filler_show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "channel_filler_show_channel_uuid_filler_show_uuid_pk": { + "columns": [ + "channel_uuid", + "filler_show_uuid" + ], + "name": "channel_filler_show_channel_uuid_filler_show_uuid_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "channel_programs": { + "name": "channel_programs", + "columns": { + "channel_uuid": { + "name": "channel_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_uuid": { + "name": "program_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "channel_programs_channel_uuid_channel_uuid_fk": { + "name": "channel_programs_channel_uuid_channel_uuid_fk", + "tableFrom": "channel_programs", + "tableTo": "channel", + "columnsFrom": [ + "channel_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "channel_programs_program_uuid_program_uuid_fk": { + "name": "channel_programs_program_uuid_program_uuid_fk", + "tableFrom": "channel_programs", + "tableTo": "program", + "columnsFrom": [ + "program_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "channel_programs_channel_uuid_program_uuid_pk": { + "columns": [ + "channel_uuid", + "program_uuid" + ], + "name": "channel_programs_channel_uuid_program_uuid_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "credit": { + "name": "credit", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "grouping_id": { + "name": "grouping_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "credit_program_id_idx": { + "name": "credit_program_id_idx", + "columns": [ + "program_id" + ], + "isUnique": false + }, + "credit_grouping_id_idx": { + "name": "credit_grouping_id_idx", + "columns": [ + "grouping_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "credit_program_id_program_uuid_fk": { + "name": "credit_program_id_program_uuid_fk", + "tableFrom": "credit", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "credit_grouping_id_program_grouping_uuid_fk": { + "name": "credit_grouping_id_program_grouping_uuid_fk", + "tableFrom": "credit", + "tableTo": "program_grouping", + "columnsFrom": [ + "grouping_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_show": { + "name": "custom_show", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sync_media_source_id": { + "name": "sync_media_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "sync_media_source_type": { + "name": "sync_media_source_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "sync_external_playlist_id": { + "name": "sync_external_playlist_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "last_synced_at": { + "name": "last_synced_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "custom_show_sync_media_source_id_media_source_uuid_fk": { + "name": "custom_show_sync_media_source_id_media_source_uuid_fk", + "tableFrom": "custom_show", + "tableTo": "media_source", + "columnsFrom": [ + "sync_media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_show_content": { + "name": "custom_show_content", + "columns": { + "content_uuid": { + "name": "content_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "custom_show_uuid": { + "name": "custom_show_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "custom_show_content_content_uuid_program_uuid_fk": { + "name": "custom_show_content_content_uuid_program_uuid_fk", + "tableFrom": "custom_show_content", + "tableTo": "program", + "columnsFrom": [ + "content_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_show_content_custom_show_uuid_custom_show_uuid_fk": { + "name": "custom_show_content_custom_show_uuid_custom_show_uuid_fk", + "tableFrom": "custom_show_content", + "tableTo": "custom_show", + "columnsFrom": [ + "custom_show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_show_content_content_uuid_foreign": { + "name": "custom_show_content_content_uuid_foreign", + "tableFrom": "custom_show_content", + "tableTo": "program", + "columnsFrom": [ + "content_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "custom_show_content_custom_show_uuid_foreign": { + "name": "custom_show_content_custom_show_uuid_foreign", + "tableFrom": "custom_show_content", + "tableTo": "custom_show", + "columnsFrom": [ + "custom_show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "custom_show_content_content_uuid_custom_show_uuid_index_pk": { + "columns": [ + "content_uuid", + "custom_show_uuid", + "index" + ], + "name": "custom_show_content_content_uuid_custom_show_uuid_index_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "external_collections": { + "name": "external_collections", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "library_id": { + "name": "library_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "external_collection_media_source_id_external_key_idx": { + "name": "external_collection_media_source_id_external_key_idx", + "columns": [ + "media_source_id", + "external_key" + ], + "isUnique": false + }, + "external_collection_library_id_external_key_idx": { + "name": "external_collection_library_id_external_key_idx", + "columns": [ + "library_id", + "external_key" + ], + "isUnique": false + }, + "external_collections_mediaSourceId_externalKey_unique": { + "name": "external_collections_mediaSourceId_externalKey_unique", + "columns": [ + "media_source_id", + "external_key" + ], + "isUnique": true + } + }, + "foreignKeys": { + "external_collections_media_source_id_media_source_uuid_fk": { + "name": "external_collections_media_source_id_media_source_uuid_fk", + "tableFrom": "external_collections", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "external_collections_library_id_media_source_library_uuid_fk": { + "name": "external_collections_library_id_media_source_library_uuid_fk", + "tableFrom": "external_collections", + "tableTo": "media_source_library", + "columnsFrom": [ + "library_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "external_collection_programs": { + "name": "external_collection_programs", + "columns": { + "collection_id": { + "name": "collection_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "grouping_id": { + "name": "grouping_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "external_collection_program_idx": { + "name": "external_collection_program_idx", + "columns": [ + "program_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "external_collection_programs_collection_id_external_collections_uuid_fk": { + "name": "external_collection_programs_collection_id_external_collections_uuid_fk", + "tableFrom": "external_collection_programs", + "tableTo": "external_collections", + "columnsFrom": [ + "collection_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "external_collection_programs_program_id_program_uuid_fk": { + "name": "external_collection_programs_program_id_program_uuid_fk", + "tableFrom": "external_collection_programs", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "external_collection_programs_grouping_id_program_grouping_uuid_fk": { + "name": "external_collection_programs_grouping_id_program_grouping_uuid_fk", + "tableFrom": "external_collection_programs", + "tableTo": "program_grouping", + "columnsFrom": [ + "grouping_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "external_collection_programs_collection_id_program_id_pk": { + "columns": [ + "collection_id", + "program_id" + ], + "name": "external_collection_programs_collection_id_program_id_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "filler_show": { + "name": "filler_show", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "stream_selection_profile_id": { + "name": "stream_selection_profile_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "filler_show_stream_selection_profile_id_stream_selection_profiles_uuid_fk": { + "name": "filler_show_stream_selection_profile_id_stream_selection_profiles_uuid_fk", + "tableFrom": "filler_show", + "tableTo": "stream_selection_profiles", + "columnsFrom": [ + "stream_selection_profile_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "filler_show_content": { + "name": "filler_show_content", + "columns": { + "filler_show_uuid": { + "name": "filler_show_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_uuid": { + "name": "program_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "filler_show_content_filler_show_uuid_filler_show_uuid_fk": { + "name": "filler_show_content_filler_show_uuid_filler_show_uuid_fk", + "tableFrom": "filler_show_content", + "tableTo": "filler_show", + "columnsFrom": [ + "filler_show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "filler_show_content_program_uuid_program_uuid_fk": { + "name": "filler_show_content_program_uuid_program_uuid_fk", + "tableFrom": "filler_show_content", + "tableTo": "program", + "columnsFrom": [ + "program_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "filler_show_content_filler_show_uuid_program_uuid_pk": { + "columns": [ + "filler_show_uuid", + "program_uuid" + ], + "name": "filler_show_content_filler_show_uuid_program_uuid_pk" + } + }, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "genre_entity": { + "name": "genre_entity", + "columns": { + "genre_id": { + "name": "genre_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "genre_entity_id_index": { + "name": "genre_entity_id_index", + "columns": [ + "genre_id" + ], + "isUnique": false + }, + "genre_entity_program_id_index": { + "name": "genre_entity_program_id_index", + "columns": [ + "program_id" + ], + "isUnique": false + }, + "genre_entity_group_id_index": { + "name": "genre_entity_group_id_index", + "columns": [ + "group_id" + ], + "isUnique": false + }, + "genre_program_unique_idx": { + "name": "genre_program_unique_idx", + "columns": [ + "genre_id", + "program_id" + ], + "isUnique": true + }, + "genre_grouping_unique_idx": { + "name": "genre_grouping_unique_idx", + "columns": [ + "genre_id", + "group_id" + ], + "isUnique": true + } + }, + "foreignKeys": { + "genre_entity_genre_id_genre_uuid_fk": { + "name": "genre_entity_genre_id_genre_uuid_fk", + "tableFrom": "genre_entity", + "tableTo": "genre", + "columnsFrom": [ + "genre_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "genre_entity_program_id_program_uuid_fk": { + "name": "genre_entity_program_id_program_uuid_fk", + "tableFrom": "genre_entity", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "genre_entity_group_id_program_grouping_uuid_fk": { + "name": "genre_entity_group_id_program_grouping_uuid_fk", + "tableFrom": "genre_entity", + "tableTo": "program_grouping", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "genre": { + "name": "genre", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "genre_name_idx": { + "name": "genre_name_idx", + "columns": [ + "name" + ], + "isUnique": false + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "local_media_folder": { + "name": "local_media_folder", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "library_id": { + "name": "library_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "canonical_id": { + "name": "canonical_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "parent_id": { + "name": "parent_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "local_media_folder_library_id_path_idx": { + "name": "local_media_folder_library_id_path_idx", + "columns": [ + "library_id", + "path" + ], + "isUnique": false + }, + "local_media_folder_path_idx": { + "name": "local_media_folder_path_idx", + "columns": [ + "path" + ], + "isUnique": false + }, + "local_media_folder_canonical_id_id": { + "name": "local_media_folder_canonical_id_id", + "columns": [ + "canonical_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "local_media_folder_library_id_media_source_library_uuid_fk": { + "name": "local_media_folder_library_id_media_source_library_uuid_fk", + "tableFrom": "local_media_folder", + "tableTo": "media_source_library", + "columnsFrom": [ + "library_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "local_media_source_path": { + "name": "local_media_source_path", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_scanned_at": { + "name": "last_scanned_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "local_media_source_path_media_source_id_media_source_uuid_fk": { + "name": "local_media_source_path_media_source_id_media_source_uuid_fk", + "tableFrom": "local_media_source_path", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "media_source": { + "name": "media_source", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "access_token": { + "name": "access_token", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "client_identifier": { + "name": "client_identifier", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "send_channel_updates": { + "name": "send_channel_updates", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "send_guide_updates": { + "name": "send_guide_updates", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "send_play_status_updates": { + "name": "send_play_status_updates", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "uri": { + "name": "uri", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "username": { + "name": "username", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "media_type": { + "name": "media_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "media_source_type_check": { + "name": "media_source_type_check", + "value": "\"media_source\".\"type\" in ('plex', 'jellyfin', 'emby', 'local')" + } + } + }, + "media_source_library": { + "name": "media_source_library", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "media_type": { + "name": "media_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "last_scanned_at": { + "name": "last_scanned_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_source_library_media_source_id_media_source_uuid_fk": { + "name": "media_source_library_media_source_id_media_source_uuid_fk", + "tableFrom": "media_source_library", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "media_type_check": { + "name": "media_type_check", + "value": "\"media_source_library\".\"media_type\" in ('movies', 'shows', 'music_videos', 'other_videos', 'tracks')" + } + } + }, + "media_source_library_replace_path": { + "name": "media_source_library_replace_path", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "server_path": { + "name": "server_path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "local_path": { + "name": "local_path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "media_source_library_replace_path_media_source_id_media_source_uuid_fk": { + "name": "media_source_library_replace_path_media_source_id_media_source_uuid_fk", + "tableFrom": "media_source_library_replace_path", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program": { + "name": "program", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "album_name": { + "name": "album_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "album_uuid": { + "name": "album_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "artist_name": { + "name": "artist_name", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "artist_uuid": { + "name": "artist_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "canonical_id": { + "name": "canonical_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "duration": { + "name": "duration", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "episode": { + "name": "episode", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "episode_icon": { + "name": "episode_icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "external_source_id": { + "name": "external_source_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "library_id": { + "name": "library_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "local_media_folder_id": { + "name": "local_media_folder_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "local_media_source_path_id": { + "name": "local_media_source_path_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "file_path": { + "name": "file_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "grandparent_external_key": { + "name": "grandparent_external_key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "original_air_date": { + "name": "original_air_date", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "parent_external_key": { + "name": "parent_external_key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plex_file_path": { + "name": "plex_file_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plex_rating_key": { + "name": "plex_rating_key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "rating": { + "name": "rating", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "season_icon": { + "name": "season_icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "season_number": { + "name": "season_number", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "season_uuid": { + "name": "season_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "show_icon": { + "name": "show_icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "show_title": { + "name": "show_title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "summary": { + "name": "summary", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plot": { + "name": "plot", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "tagline": { + "name": "tagline", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "tv_show_uuid": { + "name": "tv_show_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "year": { + "name": "year", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "state": { + "name": "state", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'ok'" + }, + "stream_selection_profile_id": { + "name": "stream_selection_profile_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "program_season_uuid_index": { + "name": "program_season_uuid_index", + "columns": [ + "season_uuid" + ], + "isUnique": false + }, + "program_tv_show_uuid_index": { + "name": "program_tv_show_uuid_index", + "columns": [ + "tv_show_uuid" + ], + "isUnique": false + }, + "program_album_uuid_index": { + "name": "program_album_uuid_index", + "columns": [ + "album_uuid" + ], + "isUnique": false + }, + "program_artist_uuid_index": { + "name": "program_artist_uuid_index", + "columns": [ + "artist_uuid" + ], + "isUnique": false + }, + "program_media_source_id_index": { + "name": "program_media_source_id_index", + "columns": [ + "media_source_id" + ], + "isUnique": false + }, + "program_media_library_id_index": { + "name": "program_media_library_id_index", + "columns": [ + "library_id" + ], + "isUnique": false + }, + "program_source_type_external_source_id_external_key_unique": { + "name": "program_source_type_external_source_id_external_key_unique", + "columns": [ + "source_type", + "external_source_id", + "external_key" + ], + "isUnique": true + }, + "program_source_type_media_source_external_key_unique": { + "name": "program_source_type_media_source_external_key_unique", + "columns": [ + "source_type", + "media_source_id", + "external_key" + ], + "isUnique": true + }, + "program_canonical_id_index": { + "name": "program_canonical_id_index", + "columns": [ + "canonical_id" + ], + "isUnique": false + }, + "program_state_index": { + "name": "program_state_index", + "columns": [ + "state" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_album_uuid_program_grouping_uuid_fk": { + "name": "program_album_uuid_program_grouping_uuid_fk", + "tableFrom": "program", + "tableTo": "program_grouping", + "columnsFrom": [ + "album_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_artist_uuid_program_grouping_uuid_fk": { + "name": "program_artist_uuid_program_grouping_uuid_fk", + "tableFrom": "program", + "tableTo": "program_grouping", + "columnsFrom": [ + "artist_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_media_source_id_media_source_uuid_fk": { + "name": "program_media_source_id_media_source_uuid_fk", + "tableFrom": "program", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_library_id_media_source_library_uuid_fk": { + "name": "program_library_id_media_source_library_uuid_fk", + "tableFrom": "program", + "tableTo": "media_source_library", + "columnsFrom": [ + "library_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_local_media_folder_id_local_media_folder_uuid_fk": { + "name": "program_local_media_folder_id_local_media_folder_uuid_fk", + "tableFrom": "program", + "tableTo": "local_media_folder", + "columnsFrom": [ + "local_media_folder_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_local_media_source_path_id_local_media_source_path_uuid_fk": { + "name": "program_local_media_source_path_id_local_media_source_path_uuid_fk", + "tableFrom": "program", + "tableTo": "local_media_source_path", + "columnsFrom": [ + "local_media_source_path_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_season_uuid_program_grouping_uuid_fk": { + "name": "program_season_uuid_program_grouping_uuid_fk", + "tableFrom": "program", + "tableTo": "program_grouping", + "columnsFrom": [ + "season_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_tv_show_uuid_program_grouping_uuid_fk": { + "name": "program_tv_show_uuid_program_grouping_uuid_fk", + "tableFrom": "program", + "tableTo": "program_grouping", + "columnsFrom": [ + "tv_show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "program_stream_selection_profile_id_stream_selection_profiles_uuid_fk": { + "name": "program_stream_selection_profile_id_stream_selection_profiles_uuid_fk", + "tableFrom": "program", + "tableTo": "stream_selection_profiles", + "columnsFrom": [ + "stream_selection_profile_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "program_type_check": { + "name": "program_type_check", + "value": "\"program\".\"type\" in ('movie', 'episode', 'track', 'music_video', 'other_video')" + }, + "program_source_type_check": { + "name": "program_source_type_check", + "value": "\"program\".\"source_type\" in ('plex', 'jellyfin', 'emby', 'local')" + } + } + }, + "program_chapter": { + "name": "program_chapter", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "start_time": { + "name": "start_time", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "end_time": { + "name": "end_time", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "chapter_type": { + "name": "chapter_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'chapter'" + }, + "program_version_id": { + "name": "program_version_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": { + "program_chapter_program_version_id_program_version_uuid_fk": { + "name": "program_chapter_program_version_id_program_version_uuid_fk", + "tableFrom": "program_chapter", + "tableTo": "program_version", + "columnsFrom": [ + "program_version_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program_external_id": { + "name": "program_external_id", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "direct_file_path": { + "name": "direct_file_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_file_path": { + "name": "external_file_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "external_source_id": { + "name": "external_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "program_uuid": { + "name": "program_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "program_external_id_program_uuid_index": { + "name": "program_external_id_program_uuid_index", + "columns": [ + "program_uuid" + ], + "isUnique": false + }, + "unique_program_multiple_external_id": { + "name": "unique_program_multiple_external_id", + "columns": [ + "program_uuid", + "source_type", + "external_source_id" + ], + "isUnique": true, + "where": "`external_source_id` is not null" + }, + "unique_program_single_external_id": { + "name": "unique_program_single_external_id", + "columns": [ + "program_uuid", + "source_type" + ], + "isUnique": true, + "where": "`external_source_id` is null" + }, + "unique_program_multiple_external_id_media_source": { + "name": "unique_program_multiple_external_id_media_source", + "columns": [ + "program_uuid", + "source_type", + "media_source_id" + ], + "isUnique": true, + "where": "`media_source_id` is not null" + }, + "unique_program_single_external_id_media_source": { + "name": "unique_program_single_external_id_media_source", + "columns": [ + "program_uuid", + "source_type" + ], + "isUnique": true, + "where": "`media_source_id` is null" + } + }, + "foreignKeys": { + "program_external_id_media_source_id_media_source_uuid_fk": { + "name": "program_external_id_media_source_id_media_source_uuid_fk", + "tableFrom": "program_external_id", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_external_id_program_uuid_program_uuid_fk": { + "name": "program_external_id_program_uuid_program_uuid_fk", + "tableFrom": "program_external_id", + "tableTo": "program", + "columnsFrom": [ + "program_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "source_type": { + "name": "source_type", + "value": "\"program_external_id\".\"source_type\" in ('plex', 'plex-guid', 'tmdb', 'imdb', 'tvdb', 'jellyfin', 'emby')" + } + } + }, + "program_grouping": { + "name": "program_grouping", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "canonical_id": { + "name": "canonical_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "summary": { + "name": "summary", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "plot": { + "name": "plot", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "tagline": { + "name": "tagline", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "type": { + "name": "type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "year": { + "name": "year", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "release_date": { + "name": "release_date", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "rating": { + "name": "rating", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "artist_uuid": { + "name": "artist_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "show_uuid": { + "name": "show_uuid", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "library_id": { + "name": "library_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "state": { + "name": "state", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'ok'" + } + }, + "indexes": { + "program_grouping_show_uuid_index": { + "name": "program_grouping_show_uuid_index", + "columns": [ + "show_uuid" + ], + "isUnique": false + }, + "program_grouping_artist_uuid_index": { + "name": "program_grouping_artist_uuid_index", + "columns": [ + "artist_uuid" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_grouping_media_source_id_media_source_uuid_fk": { + "name": "program_grouping_media_source_id_media_source_uuid_fk", + "tableFrom": "program_grouping", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_grouping_artist_uuid_program_grouping_uuid_fk": { + "name": "program_grouping_artist_uuid_program_grouping_uuid_fk", + "tableFrom": "program_grouping", + "tableTo": "program_grouping", + "columnsFrom": [ + "artist_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_grouping_show_uuid_program_grouping_uuid_fk": { + "name": "program_grouping_show_uuid_program_grouping_uuid_fk", + "tableFrom": "program_grouping", + "tableTo": "program_grouping", + "columnsFrom": [ + "show_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_grouping_library_id_media_source_library_uuid_fk": { + "name": "program_grouping_library_id_media_source_library_uuid_fk", + "tableFrom": "program_grouping", + "tableTo": "media_source_library", + "columnsFrom": [ + "library_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "type_check": { + "name": "type_check", + "value": "\"program_grouping\".\"type\" in ('show', 'season', 'artist', 'album')" + } + } + }, + "program_grouping_external_id": { + "name": "program_grouping_external_id", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_file_path": { + "name": "external_file_path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "external_key": { + "name": "external_key", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "external_source_id": { + "name": "external_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "media_source_id": { + "name": "media_source_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "group_uuid": { + "name": "group_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "source_type": { + "name": "source_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "library_id": { + "name": "library_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "program_grouping_group_uuid_index": { + "name": "program_grouping_group_uuid_index", + "columns": [ + "group_uuid" + ], + "isUnique": false + }, + "unique_program_grouping_multiple_external_id_media_source": { + "name": "unique_program_grouping_multiple_external_id_media_source", + "columns": [ + "group_uuid", + "source_type", + "media_source_id" + ], + "isUnique": true, + "where": "`media_source_id is not null`" + }, + "unique_program_grouping_single_external_id_media_source": { + "name": "unique_program_grouping_single_external_id_media_source", + "columns": [ + "group_uuid", + "source_type", + "media_source_id" + ], + "isUnique": true, + "where": "`media_source_id is null`" + } + }, + "foreignKeys": { + "program_grouping_external_id_media_source_id_media_source_uuid_fk": { + "name": "program_grouping_external_id_media_source_id_media_source_uuid_fk", + "tableFrom": "program_grouping_external_id", + "tableTo": "media_source", + "columnsFrom": [ + "media_source_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_grouping_external_id_group_uuid_program_grouping_uuid_fk": { + "name": "program_grouping_external_id_group_uuid_program_grouping_uuid_fk", + "tableFrom": "program_grouping_external_id", + "tableTo": "program_grouping", + "columnsFrom": [ + "group_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "cascade" + }, + "program_grouping_external_id_library_id_media_source_library_uuid_fk": { + "name": "program_grouping_external_id_library_id_media_source_library_uuid_fk", + "tableFrom": "program_grouping_external_id", + "tableTo": "media_source_library", + "columnsFrom": [ + "library_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "source_type_check": { + "name": "source_type_check", + "value": "\"program_grouping_external_id\".\"source_type\" in ('plex', 'plex-guid', 'tmdb', 'imdb', 'tvdb', 'jellyfin', 'emby')" + } + } + }, + "program_media_file": { + "name": "program_media_file", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_version_id": { + "name": "program_version_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "local_media_folder_id": { + "name": "local_media_folder_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "program_media_file_program_version_idx": { + "name": "program_media_file_program_version_idx", + "columns": [ + "program_version_id" + ], + "isUnique": false + }, + "program_media_file_folder_idx": { + "name": "program_media_file_folder_idx", + "columns": [ + "local_media_folder_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_media_file_program_version_id_program_version_uuid_fk": { + "name": "program_media_file_program_version_id_program_version_uuid_fk", + "tableFrom": "program_media_file", + "tableTo": "program_version", + "columnsFrom": [ + "program_version_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_media_file_local_media_folder_id_local_media_folder_uuid_fk": { + "name": "program_media_file_local_media_folder_id_local_media_folder_uuid_fk", + "tableFrom": "program_media_file", + "tableTo": "local_media_folder", + "columnsFrom": [ + "local_media_folder_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program_media_stream": { + "name": "program_media_stream", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "index": { + "name": "index", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "codec": { + "name": "codec", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "profile": { + "name": "profile", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "stream_kind": { + "name": "stream_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "language": { + "name": "language", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "channels": { + "name": "channels", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "default": { + "name": "default", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "forced": { + "name": "forced", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "pixel_format": { + "name": "pixel_format", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color_range": { + "name": "color_range", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color_space": { + "name": "color_space", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color_transfer": { + "name": "color_transfer", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "color_primaries": { + "name": "color_primaries", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "bits_per_sample": { + "name": "bits_per_sample", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "program_version_id": { + "name": "program_version_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "index_program_version_id": { + "name": "index_program_version_id", + "columns": [ + "program_version_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_media_stream_program_version_id_program_version_uuid_fk": { + "name": "program_media_stream_program_version_id_program_version_uuid_fk", + "tableFrom": "program_media_stream", + "tableTo": "program_version", + "columnsFrom": [ + "program_version_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program_play_history": { + "name": "program_play_history", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "program_uuid": { + "name": "program_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "channel_uuid": { + "name": "channel_uuid", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "played_at": { + "name": "played_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "played_duration": { + "name": "played_duration", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "filler_list_id": { + "name": "filler_list_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "program_play_history_program_uuid_index": { + "name": "program_play_history_program_uuid_index", + "columns": [ + "program_uuid" + ], + "isUnique": false + }, + "program_play_history_channel_uuid_index": { + "name": "program_play_history_channel_uuid_index", + "columns": [ + "channel_uuid", + "program_uuid", + "filler_list_id" + ], + "isUnique": false + }, + "program_play_history_played_at_index": { + "name": "program_play_history_played_at_index", + "columns": [ + "played_at" + ], + "isUnique": false + }, + "program_play_history_channel_played_at_index": { + "name": "program_play_history_channel_played_at_index", + "columns": [ + "channel_uuid", + "played_at" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_play_history_program_uuid_program_uuid_fk": { + "name": "program_play_history_program_uuid_program_uuid_fk", + "tableFrom": "program_play_history", + "tableTo": "program", + "columnsFrom": [ + "program_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_play_history_channel_uuid_channel_uuid_fk": { + "name": "program_play_history_channel_uuid_channel_uuid_fk", + "tableFrom": "program_play_history", + "tableTo": "channel", + "columnsFrom": [ + "channel_uuid" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "program_play_history_filler_list_id_filler_show_uuid_fk": { + "name": "program_play_history_filler_list_id_filler_show_uuid_fk", + "tableFrom": "program_play_history", + "tableTo": "filler_show", + "columnsFrom": [ + "filler_list_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program_subtitles": { + "name": "program_subtitles", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "subtitle_type": { + "name": "subtitle_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "stream_index": { + "name": "stream_index", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "codec": { + "name": "codec", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "default": { + "name": "default", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "forced": { + "name": "forced", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "sdh": { + "name": "sdh", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "language": { + "name": "language", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "path": { + "name": "path", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "is_extracted": { + "name": "is_extracted", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": { + "program_subtitles_program_id_program_uuid_fk": { + "name": "program_subtitles_program_id_program_uuid_fk", + "tableFrom": "program_subtitles", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "program_version": { + "name": "program_version", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "duration": { + "name": "duration", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "sample_aspect_ratio": { + "name": "sample_aspect_ratio", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "display_aspect_ratio": { + "name": "display_aspect_ratio", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "frame_rate": { + "name": "frame_rate", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "scan_kind": { + "name": "scan_kind", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "width": { + "name": "width", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "height": { + "name": "height", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "index_program_version_program_id": { + "name": "index_program_version_program_id", + "columns": [ + "program_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "program_version_program_id_program_uuid_fk": { + "name": "program_version_program_id_program_uuid_fk", + "tableFrom": "program_version", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "smart_collection": { + "name": "smart_collection", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "query": { + "name": "query", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "keywords": { + "name": "keywords", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "stream_selection_profiles": { + "name": "stream_selection_profiles", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "rules": { + "name": "rules", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "created_at": { + "name": "created_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "updated_at": { + "name": "updated_at", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "studio": { + "name": "studio", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "studio_entity": { + "name": "studio_entity", + "columns": { + "studio_id": { + "name": "studio_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "group_id": { + "name": "group_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + } + }, + "indexes": { + "studio_entity_id_index": { + "name": "studio_entity_id_index", + "columns": [ + "studio_id" + ], + "isUnique": false + }, + "studio_entity_program_id_index": { + "name": "studio_entity_program_id_index", + "columns": [ + "program_id" + ], + "isUnique": false + }, + "studio_entity_group_id_index": { + "name": "studio_entity_group_id_index", + "columns": [ + "group_id" + ], + "isUnique": false + } + }, + "foreignKeys": { + "studio_entity_studio_id_studio_uuid_fk": { + "name": "studio_entity_studio_id_studio_uuid_fk", + "tableFrom": "studio_entity", + "tableTo": "studio", + "columnsFrom": [ + "studio_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "studio_entity_program_id_program_uuid_fk": { + "name": "studio_entity_program_id_program_uuid_fk", + "tableFrom": "studio_entity", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "studio_entity_group_id_program_grouping_uuid_fk": { + "name": "studio_entity_group_id_program_grouping_uuid_fk", + "tableFrom": "studio_entity", + "tableTo": "program_grouping", + "columnsFrom": [ + "group_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "channel_subtitle_preferences": { + "name": "channel_subtitle_preferences", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "language_code": { + "name": "language_code", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "priority": { + "name": "priority", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "allow_image_based": { + "name": "allow_image_based", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "allow_external": { + "name": "allow_external", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "filter_type": { + "name": "filter_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'any'" + }, + "channel_id": { + "name": "channel_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "channel_priority_index": { + "name": "channel_priority_index", + "columns": [ + "channel_id", + "priority" + ], + "isUnique": false + } + }, + "foreignKeys": { + "channel_subtitle_preferences_channel_id_channel_uuid_fk": { + "name": "channel_subtitle_preferences_channel_id_channel_uuid_fk", + "tableFrom": "channel_subtitle_preferences", + "tableTo": "channel", + "columnsFrom": [ + "channel_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "custom_show_subtitle_preferences": { + "name": "custom_show_subtitle_preferences", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "language_code": { + "name": "language_code", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "priority": { + "name": "priority", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "allow_image_based": { + "name": "allow_image_based", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "allow_external": { + "name": "allow_external", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": true + }, + "filter_type": { + "name": "filter_type", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'any'" + }, + "custom_show_id": { + "name": "custom_show_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "custom_show_priority_index": { + "name": "custom_show_priority_index", + "columns": [ + "custom_show_id", + "priority" + ], + "isUnique": false + } + }, + "foreignKeys": { + "custom_show_subtitle_preferences_custom_show_id_custom_show_uuid_fk": { + "name": "custom_show_subtitle_preferences_custom_show_id_custom_show_uuid_fk", + "tableFrom": "custom_show_subtitle_preferences", + "tableTo": "custom_show", + "columnsFrom": [ + "custom_show_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "tags": { + "name": "tags", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "tag": { + "name": "tag", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + } + }, + "indexes": { + "tags_unique_tag_idx": { + "name": "tags_unique_tag_idx", + "columns": [ + "tag" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "tag_relations": { + "name": "tag_relations", + "columns": { + "tag_id": { + "name": "tag_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "program_id": { + "name": "program_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "grouping_id": { + "name": "grouping_id", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'media'" + } + }, + "indexes": { + "tag_relations_program_id_idx": { + "name": "tag_relations_program_id_idx", + "columns": [ + "program_id" + ], + "isUnique": false + }, + "tag_relations_grouping_id_idx": { + "name": "tag_relations_grouping_id_idx", + "columns": [ + "grouping_id" + ], + "isUnique": false + }, + "tag_program_id_unique_idx": { + "name": "tag_program_id_unique_idx", + "columns": [ + "tag_id", + "program_id", + "source" + ], + "isUnique": true + }, + "tag_grouping_id_unique_idx": { + "name": "tag_grouping_id_unique_idx", + "columns": [ + "tag_id", + "grouping_id", + "source" + ], + "isUnique": true + } + }, + "foreignKeys": { + "tag_relations_tag_id_tags_uuid_fk": { + "name": "tag_relations_tag_id_tags_uuid_fk", + "tableFrom": "tag_relations", + "tableTo": "tags", + "columnsFrom": [ + "tag_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "tag_relations_program_id_program_uuid_fk": { + "name": "tag_relations_program_id_program_uuid_fk", + "tableFrom": "tag_relations", + "tableTo": "program", + "columnsFrom": [ + "program_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "tag_relations_grouping_id_program_grouping_uuid_fk": { + "name": "tag_relations_grouping_id_program_grouping_uuid_fk", + "tableFrom": "tag_relations", + "tableTo": "program_grouping", + "columnsFrom": [ + "grouping_id" + ], + "columnsTo": [ + "uuid" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": {} + }, + "transcode_config": { + "name": "transcode_config", + "columns": { + "uuid": { + "name": "uuid", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "thread_count": { + "name": "thread_count", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "hardware_acceleration_mode": { + "name": "hardware_acceleration_mode", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "vaapi_driver": { + "name": "vaapi_driver", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'system'" + }, + "vaapi_device": { + "name": "vaapi_device", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "resolution": { + "name": "resolution", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "video_format": { + "name": "video_format", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "video_profile": { + "name": "video_profile", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "video_preset": { + "name": "video_preset", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "video_bit_depth": { + "name": "video_bit_depth", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": 8 + }, + "video_bit_rate": { + "name": "video_bit_rate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "video_buffer_size": { + "name": "video_buffer_size", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_channels": { + "name": "audio_channels", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_format": { + "name": "audio_format", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_bit_rate": { + "name": "audio_bit_rate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_buffer_size": { + "name": "audio_buffer_size", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_sample_rate": { + "name": "audio_sample_rate", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "audio_volume_percent": { + "name": "audio_volume_percent", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 100 + }, + "audio_loudnorm_config": { + "name": "audio_loudnorm_config", + "type": "text", + "primaryKey": false, + "notNull": false, + "autoincrement": false + }, + "normalize_frame_rate": { + "name": "normalize_frame_rate", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "deinterlace_video": { + "name": "deinterlace_video", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": true + }, + "disable_channel_overlay": { + "name": "disable_channel_overlay", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "error_screen": { + "name": "error_screen", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'pic'" + }, + "error_screen_audio": { + "name": "error_screen_audio", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": "'silent'" + }, + "is_default": { + "name": "is_default", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": false + }, + "disable_hardware_decoder": { + "name": "disable_hardware_decoder", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "disable_hardware_encoding": { + "name": "disable_hardware_encoding", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + }, + "disable_hardware_filters": { + "name": "disable_hardware_filters", + "type": "integer", + "primaryKey": false, + "notNull": false, + "autoincrement": false, + "default": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "checkConstraints": { + "transcode_config_hardware_accel_check": { + "name": "transcode_config_hardware_accel_check", + "value": "\"transcode_config\".\"hardware_acceleration_mode\" in ('none', 'cuda', 'vaapi', 'qsv', 'videotoolbox')" + }, + "transcode_config_vaapi_driver_check": { + "name": "transcode_config_vaapi_driver_check", + "value": "\"transcode_config\".\"vaapi_driver\" in ('system', 'ihd', 'i965', 'radeonsi', 'nouveau')" + }, + "transcode_config_video_format_check": { + "name": "transcode_config_video_format_check", + "value": "\"transcode_config\".\"video_format\" in ('h264', 'hevc', 'mpeg2video')" + }, + "transcode_config_audio_format_check": { + "name": "transcode_config_audio_format_check", + "value": "\"transcode_config\".\"audio_format\" in ('aac', 'ac3', 'copy', 'mp3')" + }, + "transcode_config_error_screen_check": { + "name": "transcode_config_error_screen_check", + "value": "\"transcode_config\".\"error_screen\" in ('static', 'pic', 'blank', 'testsrc', 'text', 'kill')" + }, + "transcode_config_error_screen_audio_check": { + "name": "transcode_config_error_screen_audio_check", + "value": "\"transcode_config\".\"error_screen_audio\" in ('silent', 'sine', 'whitenoise')" + } + } + } + }, + "views": {}, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/server/src/migration/db/sql/meta/_journal.json b/server/src/migration/db/sql/meta/_journal.json index f5a4539b1..fde687afb 100644 --- a/server/src/migration/db/sql/meta/_journal.json +++ b/server/src/migration/db/sql/meta/_journal.json @@ -316,6 +316,13 @@ "when": 1777906281969, "tag": "0044_useful_groot", "breakpoints": true + }, + { + "idx": 45, + "version": "6", + "when": 1779654984240, + "tag": "0045_lean_violations", + "breakpoints": true } ] } \ No newline at end of file diff --git a/server/src/stream/ProgramStream.ts b/server/src/stream/ProgramStream.ts index 071b1815d..5d9f10067 100644 --- a/server/src/stream/ProgramStream.ts +++ b/server/src/stream/ProgramStream.ts @@ -23,7 +23,7 @@ import { MediaSourceDB } from '../db/mediaSourceDB.ts'; import type { FFmpegAssistedFactory } from '../ffmpeg/FFmpegModule.ts'; import type { StreamOptions } from '../ffmpeg/ffmpegBase.ts'; import { KEYS } from '../types/inject.ts'; -import { assisted, injected } from '../util/assistedInject.ts'; +import { assisted, injected, multiInjected } from '../util/assistedInject.ts'; import { attempt, isDefined, @@ -33,6 +33,7 @@ import { import { InjectLogger } from '../util/inject.ts'; import type { PlayerContext } from './PlayerStreamContext.ts'; import { ProgramStreamDetailsFetcher } from './ProgramStreamDetailsFetcher.ts'; +import { ProgramStreamPlugin } from './plugins/ProgramStreamPlugin.ts'; import type { StreamRenditions } from './types.ts'; type ProgramStreamEvents = { @@ -61,6 +62,8 @@ export class ProgramStream extends events.EventEmitter { @injected(MediaSourceDB) private mediaSourceDB: MediaSourceDB, @injected(ProgramStreamDetailsFetcher) private programStreamDetails: ProgramStreamDetailsFetcher, + @multiInjected(KEYS.ProgramStreamPlugin) + private streamPlugins: ProgramStreamPlugin[], @assisted public context: PlayerContext, @assisted protected outputFormat: OutputFormat, @assisted public opts?: Partial, @@ -134,21 +137,22 @@ export class ProgramStream extends events.EventEmitter { streamDetails.duration = dayjs.duration(lineupItem.streamDuration); const start = dayjs.duration(lineupItem.startOffset ?? 0); + const resolvedOptions = { + startTime: start, + duration: dayjs.duration(lineupItem.streamDuration), + watermark, + realtime: this.context.realtime, + outputFormat: this.outputFormat, + streamMode: this.context.streamMode, + encoding: this.context.encoding, + ...(this.opts ?? {}), + }; const sessionResult = await ffmpeg.createStreamSession({ stream: { source: streamSource, details: streamDetails, }, - options: { - startTime: start, - duration: dayjs.duration(lineupItem.streamDuration), - watermark, - realtime: this.context.realtime, - outputFormat: this.outputFormat, - streamMode: this.context.streamMode, - encoding: this.context.encoding, - ...(this.opts ?? {}), - }, + options: resolvedOptions, lineupItem, }); @@ -156,7 +160,22 @@ export class ProgramStream extends events.EventEmitter { return Result.forError(new Error('Unable to create ffmpeg process')); } - // TODO: Fire plugins. + for (const plugin of this.streamPlugins) { + try { + await plugin.run({ + opts: resolvedOptions, + outputFormat: this.outputFormat, + playerContext: this.context, + transcodeSession: sessionResult, + }); + } catch (e) { + this.logger.error( + e, + 'Error firing stream plugin %s', + plugin.constructor.name, + ); + } + } return Result.success(sessionResult); } diff --git a/server/src/stream/StreamModule.ts b/server/src/stream/StreamModule.ts index 1a955ea8d..fe2b405f4 100644 --- a/server/src/stream/StreamModule.ts +++ b/server/src/stream/StreamModule.ts @@ -22,6 +22,8 @@ import { bindAutoFactory } from '../util/inject.ts'; import { ProgramStream } from './ProgramStream.ts'; import { ProgramStreamDetailsFetcher } from './ProgramStreamDetailsFetcher.ts'; import type { ProgramStreamFactory } from './ProgramStreamFactory.ts'; +import { JellyfinPlayStatusUpdaterPlugin } from './plugins/JellyfinPlayStatusUpdaterPlugin.ts'; +import { PlexPlayStatusUpdaterPlugin } from './plugins/PlexPlayStatusUpdaterPlugin.ts'; const configure = ({ bind }: ContainerModuleLoadOptions) => { bind(SessionManager).toSelf().inSingletonScope(); @@ -85,6 +87,9 @@ const configure = ({ bind }: ContainerModuleLoadOptions) => { }); bind(KEYS.FillerPicker).to(FillerPickerV2).inSingletonScope(); + + bind(KEYS.ProgramStreamPlugin).to(PlexPlayStatusUpdaterPlugin); + bind(KEYS.ProgramStreamPlugin).to(JellyfinPlayStatusUpdaterPlugin); }; class StreamModule extends ContainerModule { diff --git a/server/src/stream/plugins/JellyfinPlayStatusUpdaterPlugin.ts b/server/src/stream/plugins/JellyfinPlayStatusUpdaterPlugin.ts new file mode 100644 index 000000000..bdc865325 --- /dev/null +++ b/server/src/stream/plugins/JellyfinPlayStatusUpdaterPlugin.ts @@ -0,0 +1,72 @@ +import { inject, injectable } from 'inversify'; +import { v4 } from 'uuid'; +import { isContentBackedLineupItem } from '../../db/derived_types/StreamLineup.ts'; +import { MediaSourceDB } from '../../db/mediaSourceDB.ts'; +import { + UpdateJellyfinPlayStatusScheduledTask, + UpdateJellyfinPlayStatusScheduledTaskFactory, +} from '../../tasks/jellyfin/UpdateJellyfinPlayStatusTask.ts'; +import { Result } from '../../types/result.ts'; +import { Maybe } from '../../types/util.ts'; +import { InjectLogger } from '../../util/inject.ts'; +import { Logger } from '../../util/logging/LoggerFactory.ts'; +import { PluginContext, ProgramStreamPlugin } from './ProgramStreamPlugin.ts'; + +@injectable() +export class JellyfinPlayStatusUpdaterPlugin implements ProgramStreamPlugin { + @InjectLogger() declare private readonly logger: Logger; + + private updateStatusTask: Maybe; + + constructor( + @inject(UpdateJellyfinPlayStatusScheduledTask.KEY) + private playStatusTaskFactory: UpdateJellyfinPlayStatusScheduledTaskFactory, + @inject(MediaSourceDB) private mediaSourceDB: MediaSourceDB, + ) {} + + async run(context: PluginContext): Promise> { + const lineupItem = context.playerContext.lineupItem; + if (!isContentBackedLineupItem(lineupItem)) { + return Result.void(); + } + + if (lineupItem.program.sourceType !== 'plex') { + return Result.void(); + } + + const server = await this.mediaSourceDB.getById( + lineupItem.program.mediaSourceId, + ); + + if (!server) { + return Result.forError( + new Error( + `Unable to find server "${lineupItem.program.mediaSourceId}" specified by program.`, + ), + ); + } + + if (!server.sendPlayStatusUpdates) { + return Result.void(); + } + + this.updateStatusTask = this.playStatusTaskFactory( + server, + { + channelNumber: context.playerContext.sourceChannel.number, + first: true, + itemDuration: lineupItem.duration, + itemId: lineupItem.program.externalKey, + itemStartPositionMs: lineupItem.startOffset ?? 0, + }, + v4(), + ); + + return Result.void(); + } + + shutdown(): Promise> { + this.updateStatusTask?.stop(); + return Promise.resolve(Result.void()); + } +} diff --git a/server/src/stream/plugins/PlexPlayStatusUpdaterPlugin.ts b/server/src/stream/plugins/PlexPlayStatusUpdaterPlugin.ts new file mode 100644 index 000000000..c8e52a3c3 --- /dev/null +++ b/server/src/stream/plugins/PlexPlayStatusUpdaterPlugin.ts @@ -0,0 +1,71 @@ +import { inject, injectable } from 'inversify'; +import { v4 } from 'uuid'; +import { isContentBackedLineupItem } from '../../db/derived_types/StreamLineup.ts'; +import { MediaSourceDB } from '../../db/mediaSourceDB.ts'; +import { + UpdatePlexPlayStatusScheduledTask, + UpdatePlexPlayStatusScheduledTaskFactory, +} from '../../tasks/plex/UpdatePlexPlayStatusTask.ts'; +import { Result } from '../../types/result.ts'; +import { Maybe } from '../../types/util.ts'; +import { InjectLogger } from '../../util/inject.ts'; +import { Logger } from '../../util/logging/LoggerFactory.ts'; +import { PluginContext, ProgramStreamPlugin } from './ProgramStreamPlugin.ts'; + +@injectable() +export class PlexPlayStatusUpdaterPlugin implements ProgramStreamPlugin { + @InjectLogger() declare private readonly logger: Logger; + + private updatePlexStatusTask: Maybe; + + constructor( + @inject(UpdatePlexPlayStatusScheduledTask.KEY) + private playStatusTaskFactory: UpdatePlexPlayStatusScheduledTaskFactory, + @inject(MediaSourceDB) private mediaSourceDB: MediaSourceDB, + ) {} + + async run(context: PluginContext): Promise> { + const lineupItem = context.playerContext.lineupItem; + if (!isContentBackedLineupItem(lineupItem)) { + return Result.void(); + } + + if (lineupItem.program.sourceType !== 'plex') { + return Result.void(); + } + + const server = await this.mediaSourceDB.getById( + lineupItem.program.mediaSourceId, + ); + + if (!server) { + return Result.forError( + new Error( + `Unable to find server "${lineupItem.program.mediaSourceId}" specified by program.`, + ), + ); + } + + if (!server.sendPlayStatusUpdates) { + return Result.void(); + } + + this.updatePlexStatusTask = this.playStatusTaskFactory( + server, + { + channelNumber: context.playerContext.sourceChannel.number, + duration: lineupItem.duration, + ratingKey: lineupItem.program.externalKey, + startTime: lineupItem.startOffset ?? 0, + }, + v4(), + ); + + return Result.void(); + } + + shutdown(): Promise> { + this.updatePlexStatusTask?.stop(); + return Promise.resolve(Result.void()); + } +} diff --git a/server/src/stream/plugins/ProgramStreamPlugin.ts b/server/src/stream/plugins/ProgramStreamPlugin.ts new file mode 100644 index 000000000..419addcc3 --- /dev/null +++ b/server/src/stream/plugins/ProgramStreamPlugin.ts @@ -0,0 +1,20 @@ +import type { OutputFormat } from '../../ffmpeg/builder/constants.ts'; +import type { + StreamOptions, + TranscodeSessionResult, +} from '../../ffmpeg/ffmpegBase.ts'; +import type { Result } from '../../types/result.ts'; +import type { PlayerContext } from '../PlayerStreamContext.ts'; + +export type PluginContext = { + playerContext: PlayerContext; + outputFormat: OutputFormat; + opts?: Partial; + transcodeSession: TranscodeSessionResult; +}; + +export interface ProgramStreamPlugin { + run(context: PluginContext): Promise>; + + shutdown(): Promise>; +} diff --git a/server/src/tasks/TasksModule.ts b/server/src/tasks/TasksModule.ts index 4a893d9f1..bb2806444 100644 --- a/server/src/tasks/TasksModule.ts +++ b/server/src/tasks/TasksModule.ts @@ -21,6 +21,11 @@ import { bindAutoFactory, bindFactoryFunc } from '../util/inject.ts'; import { LoggerFactory } from '../util/logging/LoggerFactory.ts'; import { BackupTask } from './BackupTask.ts'; import { ClearM3uCacheTask } from './ClearM3uCacheTask.ts'; +import type { + UpdateJellyfinPlayStatusScheduledTaskFactory} from './jellyfin/UpdateJellyfinPlayStatusTask.ts'; +import { + UpdateJellyfinPlayStatusScheduledTask +} from './jellyfin/UpdateJellyfinPlayStatusTask.ts'; import { NoopTask } from './NoopTask.ts'; import type { UpdatePlexPlayStatusScheduledTaskFactory, @@ -121,6 +126,21 @@ const TasksModule = new ContainerModule(({ bind }) => { ), ); + bindFactoryFunc< + UpdateJellyfinPlayStatusScheduledTask, + Parameters + >( + bind, + UpdateJellyfinPlayStatusScheduledTask.KEY, + (ctx) => (server, request, sessionId) => + new UpdateJellyfinPlayStatusScheduledTask( + server, + request, + ctx.get(MediaSourceApiFactory), + sessionId, + ), + ); + bind(SubtitleExtractorTask).toSelf(); bindAutoFactory( bind, diff --git a/server/src/tasks/jellyfin/UpdateJellyfinPlayStatusTask.ts b/server/src/tasks/jellyfin/UpdateJellyfinPlayStatusTask.ts index a8638db8f..4cc1ac105 100644 --- a/server/src/tasks/jellyfin/UpdateJellyfinPlayStatusTask.ts +++ b/server/src/tasks/jellyfin/UpdateJellyfinPlayStatusTask.ts @@ -46,11 +46,19 @@ type UpdateJellyfinPlayStatusTaskInvocation = z.infer< typeof UpdateJellyfinPlayStatusTaskInvocation >; +export type UpdateJellyfinPlayStatusScheduledTaskFactory = ( + server: MediaSourceWithRelations, + request: UpdateJellyfinPlayStatusScheduleRequest, + sessionId: string, +) => UpdateJellyfinPlayStatusScheduledTask; + @injectable() export class UpdateJellyfinPlayStatusScheduledTask extends ScheduledTask< typeof UpdateJellyfinPlayStatusTaskInvocation, boolean > { + static KEY = Symbol.for(UpdateJellyfinPlayStatusScheduledTask.name); + private playState: PlayState = 'playing'; private first: boolean = true; private start = dayjs(); diff --git a/server/src/types/inject.ts b/server/src/types/inject.ts index 03e94e28a..8a509702a 100644 --- a/server/src/types/inject.ts +++ b/server/src/types/inject.ts @@ -32,6 +32,7 @@ const KEYS = { ConcatSession: Symbol.for('ConcatSession'), HlsSessionProvder: Symbol.for('HlsSessionProvider'), ProgramStreamFactory: Symbol.for('Factory'), + ProgramStreamPlugin: Symbol.for('ProgramStreamPlugin'), JellyfinStreamDetails: Symbol.for('JellyfinStreamDetails'), JellyfinStreamDetailsFactory: Symbol.for('JellyfinStreamDetailsFactory'), PlexStreamDetails: Symbol.for('PlexStreamDetails'), diff --git a/server/src/util/assistedInject.ts b/server/src/util/assistedInject.ts index 1245eeed9..2b281b670 100644 --- a/server/src/util/assistedInject.ts +++ b/server/src/util/assistedInject.ts @@ -2,18 +2,18 @@ import type { Bind, BindWhenOnFluentSyntax, Factory, - ServiceIdentifier} from 'inversify'; -import { - inject + ServiceIdentifier, } from 'inversify'; +import { inject, multiInject } from 'inversify'; import 'reflect-metadata'; const INJECT_META = Symbol('assistedInject:inject'); const ASSISTED_META = Symbol('assistedInject:assisted'); -// Our own @inject — stores tokens in our own metadata, not inversify's internals -export function injected(serviceId: ServiceIdentifier) { - const injectFn = inject(serviceId); +function commonInjectedWrapper( + serviceId: ServiceIdentifier, + decorator: MethodDecorator & ParameterDecorator & PropertyDecorator, +): ParameterDecorator { return ( target: object, propertyKey: string | symbol | undefined, @@ -26,10 +26,24 @@ export function injected(serviceId: ServiceIdentifier) { ) ?? new Map(); map.set(index, serviceId); Reflect.defineMetadata(INJECT_META, map, target); - injectFn(target, propertyKey, index); + decorator(target, propertyKey, index); }; } +// Our own @inject — stores tokens in our own metadata, not inversify's internals +export function injected(serviceId: ServiceIdentifier) { + const injectFn = inject(serviceId); + return commonInjectedWrapper(serviceId, injectFn); +} + +// Our own @inject — stores tokens in our own metadata, not inversify's internals +export function multiInjected( + serviceId: ServiceIdentifier, +) { + const injectFn = multiInject(serviceId); + return commonInjectedWrapper(serviceId, injectFn); +} + export function assisted( target: object, _: string | symbol | undefined, diff --git a/types/src/api/index.ts b/types/src/api/index.ts index d48afc4c8..6d3924389 100644 --- a/types/src/api/index.ts +++ b/types/src/api/index.ts @@ -175,18 +175,15 @@ export type UpdateChannelProgrammingRequest = z.infer< export const UpdateMediaSourceRequestSchema = z.discriminatedUnion('type', [ PlexServerSettingsSchema.partial({ sendGuideUpdates: true, + sendPlayStatusUpdates: true, clientIdentifier: true, - }) - .omit({ libraries: true }) - .required({ - accessToken: true, - }), - JellyfinServerSettingsSchema.omit({ libraries: true }).required({ - accessToken: true, - }), - EmbyServerSettingsSchema.omit({ libraries: true }).required({ - accessToken: true, + }).omit({ libraries: true }), + JellyfinServerSettingsSchema.partial({ + sendPlayStatusUpdates: true, + }).omit({ + libraries: true, }), + EmbyServerSettingsSchema.omit({ libraries: true }), LocalMediaSourceSchema.omit({ libraries: true }), ]); diff --git a/types/src/schemas/settingsSchemas.ts b/types/src/schemas/settingsSchemas.ts index 63e5ade1d..29993fa24 100644 --- a/types/src/schemas/settingsSchemas.ts +++ b/types/src/schemas/settingsSchemas.ts @@ -150,38 +150,43 @@ export const MediaSourcePathReplacement = z.object({ const BaseMediaSourceSettingsSchema = z.object({ id: z.string(), name: z.string(), + libraries: z.array(BaseMediaSourceLibrarySchema), + pathReplacements: z.array(MediaSourcePathReplacement), +}); + +const RemoteMediaSourceSettingsSchema = z.object({ + ...BaseMediaSourceSettingsSchema.shape, uri: z.string(), accessToken: z.string().optional(), userId: z.string().nullable(), + sendPlayStatusUpdates: z.boolean().default(false), username: z.string().nullable(), - libraries: z.array(BaseMediaSourceLibrarySchema), - pathReplacements: z.array(MediaSourcePathReplacement), }); -export const PlexServerSettingsSchema = BaseMediaSourceSettingsSchema.extend({ +export const PlexServerSettingsSchema = z.object({ + ...RemoteMediaSourceSettingsSchema.shape, type: z.literal(MediaSourceType.enum.plex), sendGuideUpdates: z.boolean(), index: z.number(), clientIdentifier: z.string().optional(), }); -export const JellyfinServerSettingsSchema = - BaseMediaSourceSettingsSchema.extend({ - type: z.literal('jellyfin'), - }); +export const JellyfinServerSettingsSchema = z.object({ + ...RemoteMediaSourceSettingsSchema.shape, + type: z.literal('jellyfin'), +}); -export const EmbyServerSettingsSchema = BaseMediaSourceSettingsSchema.extend({ +export const EmbyServerSettingsSchema = z.object({ + ...RemoteMediaSourceSettingsSchema.shape, type: z.literal('emby'), }); -export const LocalMediaSourceSchema = z - .object({ - ...BaseMediaSourceSettingsSchema.shape, - type: z.literal('local'), - mediaType: MediaSourceContentType, - paths: z.array(z.string().min(1)).nonempty(), - }) - .omit({ accessToken: true, userId: true, username: true, uri: true }); +export const LocalMediaSourceSchema = z.object({ + ...BaseMediaSourceSettingsSchema.shape, + type: z.literal('local'), + mediaType: MediaSourceContentType, + paths: z.array(z.string().min(1)).nonempty(), +}); export const MediaSourceSettingsSchema = z.discriminatedUnion('type', [ PlexServerSettingsSchema, diff --git a/web/src/components/settings/media_source/EmbyServerEditDialog.tsx b/web/src/components/settings/media_source/EmbyServerEditDialog.tsx index 0acaaca70..c8cf04712 100644 --- a/web/src/components/settings/media_source/EmbyServerEditDialog.tsx +++ b/web/src/components/settings/media_source/EmbyServerEditDialog.tsx @@ -67,6 +67,7 @@ const emptyDefaults: EmbyServerSettingsForm = { password: '', userId: '', pathReplacements: [], + sendPlayStatusUpdates: false, }; export function EmbyServerEditDialog({ open, onClose, server }: Props) { @@ -302,7 +303,9 @@ export function EmbyServerEditDialog({ open, onClose, server }: Props) { !serverStatus.healthy && isNonEmptyString(field.value) ? ( <> - Server is unreachable + + Server is unreachable +
) : null @@ -354,7 +357,9 @@ export function EmbyServerEditDialog({ open, onClose, server }: Props) { }} render={({ field, fieldState: { error } }) => ( - Username + + Username{' '} + ( - Password + + Password{' '} + - Enter your Emby password to generate a new access token. + + Enter your Emby password to generate a new access token. + - OR + + OR + - Access Token + + Access Token{' '} + )} - Manually add an access token from your Emby server + + Manually add an access token from your Emby server + diff --git a/web/src/components/settings/media_source/JelllyfinServerEditDialog.tsx b/web/src/components/settings/media_source/JelllyfinServerEditDialog.tsx index e25d84b28..c59e96899 100644 --- a/web/src/components/settings/media_source/JelllyfinServerEditDialog.tsx +++ b/web/src/components/settings/media_source/JelllyfinServerEditDialog.tsx @@ -2,9 +2,9 @@ import { isNonEmptyString, isValidUrlWithError, toggle } from '@/helpers/util'; import { RotatingLoopIcon } from '@/components/base/LoadingIcon.tsx'; import { jellyfinLogin } from '@/hooks/jellyfin/useJellyfinLogin.ts'; +import { useMediaSourceBackendStatus } from '@/hooks/media-sources/useMediaSourceBackendStatus'; import { t } from '@lingui/core/macro'; import { Trans } from '@lingui/react/macro'; -import { useMediaSourceBackendStatus } from '@/hooks/media-sources/useMediaSourceBackendStatus'; import { CloudDoneOutlined, CloudOff, @@ -14,12 +14,14 @@ import { import { Box, Button, + Checkbox, Dialog, DialogActions, DialogContent, DialogTitle, Divider, FormControl, + FormControlLabel, FormHelperText, IconButton, InputAdornment, @@ -30,10 +32,10 @@ import { Typography, } from '@mui/material'; import { type JellyfinServerSettings } from '@tunarr/types'; -import { isEmpty, isUndefined } from 'lodash-es'; +import { every, isEmpty, isUndefined } from 'lodash-es'; import { useSnackbar } from 'notistack'; import { useEffect, useState, type FormEvent } from 'react'; -import { Controller, FormProvider, useForm } from 'react-hook-form'; +import { Controller, FormProvider, useForm, useWatch } from 'react-hook-form'; import type { StrictOmit } from 'ts-essentials'; import { type MarkOptional } from 'ts-essentials'; import { useDebounceCallback, useDebounceValue } from 'usehooks-ts'; @@ -65,6 +67,7 @@ const emptyDefaults: JellyfinServerSettingsForm = { password: '', userId: '', pathReplacements: [], + sendPlayStatusUpdates: false, }; export function JellyfinServerEditDialog({ open, onClose, server }: Props) { @@ -87,12 +90,16 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { control, watch, reset, - formState: { isDirty, isValid, defaultValues, errors }, + formState: { isDirty, isValid, defaultValues, errors, dirtyFields }, handleSubmit, setError, clearErrors, getValues, } = form; + const [accessToken, username, password] = useWatch({ + control, + name: ['accessToken', 'username', 'password'], + }); useEffect(() => { if (open) { @@ -201,6 +208,25 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { } catch (e) { showErrorSnack(e); } + } else if (isNonEmptyString(server?.id)) { + await handleSubmit((data) => { + console.log(data); + updateMediaSourceMut.mutate({ + path: { + id: data.id!, + }, + body: { + ...data, + id: data.id!, + accessToken: undefined, + }, + }); + }, showErrorSnack)(e).catch((err) => { + console.error(err); + showErrorSnack(err); + }); + + handleClose(); } }; @@ -208,7 +234,16 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { const [serverStatusDetails, updateServerStatusDetails] = useDebounceValue( { - id: server?.id && !isDirty ? server.id : undefined, + id: + server?.id && + (!( + dirtyFields.accessToken || + dirtyFields.username || + dirtyFields.password + ) || + every([password, accessToken, username], isEmpty)) + ? server.id + : undefined, accessToken: defaultValues?.accessToken ?? '', uri: defaultValues?.uri ?? '', }, @@ -232,20 +267,30 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { // or URI changes, but the status query will only fire every 500ms useEffect(() => { const sub = watch((value, { name }) => { - if ( - isNonEmptyString(value.accessToken) || - (isNonEmptyString(value.username) && isNonEmptyString(value.password)) - ) { - debounceClearError('root.auth'); - } else { - debounceSetError('root.auth', { - message: 'Must provide either access token or username/password', - }); + if (isEmpty(server?.id)) { + if ( + isNonEmptyString(value.accessToken) || + (isNonEmptyString(value.username) && isNonEmptyString(value.password)) + ) { + debounceClearError('root.auth'); + } else { + debounceSetError('root.auth', { + message: 'Must provide either access token or username/password', + }); + } } if (name === 'uri' || name === 'accessToken') { updateServerStatusDetails({ - id: server?.id && !isDirty ? server.id : undefined, + id: + server?.id && + !( + dirtyFields.accessToken || + dirtyFields.username || + dirtyFields.password + ) + ? server.id + : undefined, accessToken: value.accessToken ?? '', uri: value.uri ?? '', }); @@ -261,6 +306,9 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { debounceClearError, debounceSetError, errors, + dirtyFields.accessToken, + dirtyFields.username, + dirtyFields.password, ]); const { data: serverStatus, isLoading: serverStatusLoading } = @@ -316,7 +364,9 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { !serverStatus.healthy && isNonEmptyString(field.value) ? ( <> - Server is unreachable + + Server is unreachable +
) : null @@ -436,16 +486,20 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { )} /> - Enter your Jellyfin password to generate a new access token. -
- NOTE: These are never saved to the Tunarr DB. - Instead they are sent to Jellyfin to exchange for a session - token.
+ + Enter your Jellyfin password to generate a new access token. +
+ NOTE: These are never saved to the Tunarr DB. + Instead they are sent to Jellyfin to exchange for a session + token. +
- OR + + OR + ( - Access Token + + Access Token{' '} + )} - Manually add an access token from your Jellyfin server + + Manually add an access token from your Jellyfin server + @@ -495,6 +553,28 @@ export function JellyfinServerEditDialog({ open, onClose, server }: Props) { + + + ( + + )} + /> + } + label={t`Update Play Status`} + /> + + + Tunarr will update Jellyfin's "now playing" state while + channels are active. + + + + diff --git a/web/src/components/settings/media_source/PlexServerEditDialog.tsx b/web/src/components/settings/media_source/PlexServerEditDialog.tsx index 99067b2e6..7cd13d98c 100644 --- a/web/src/components/settings/media_source/PlexServerEditDialog.tsx +++ b/web/src/components/settings/media_source/PlexServerEditDialog.tsx @@ -1,8 +1,8 @@ import { RotatingLoopIcon } from '@/components/base/LoadingIcon'; import { isNonEmptyString, isValidUrlWithError, toggle } from '@/helpers/util'; +import { useMediaSourceBackendStatus } from '@/hooks/media-sources/useMediaSourceBackendStatus'; import { t } from '@lingui/core/macro'; import { Trans } from '@lingui/react/macro'; -import { useMediaSourceBackendStatus } from '@/hooks/media-sources/useMediaSourceBackendStatus'; import { CloudDoneOutlined, CloudOff, @@ -61,6 +61,7 @@ const emptyDefaults: PlexServerSettingsForm = { name: '', accessToken: '', sendGuideUpdates: false, + sendPlayStatusUpdates: false, index: 0, type: 'plex', userId: '', @@ -90,7 +91,7 @@ export function PlexServerEditDialog({ open, onClose, server }: Props) { control, watch, reset, - formState: { isDirty, isValid, defaultValues }, + formState: { isDirty, isValid, defaultValues, dirtyFields }, handleSubmit, } = form; @@ -133,7 +134,7 @@ export function PlexServerEditDialog({ open, onClose, server }: Props) { const [serverStatusDetails, updateServerStatusDetails] = useDebounceValue( { - id: server?.id && !isDirty ? server.id : undefined, + id: server?.id && !dirtyFields.accessToken ? server.id : undefined, accessToken: defaultValues!.accessToken!, uri: defaultValues!.uri!, }, @@ -236,7 +237,9 @@ export function PlexServerEditDialog({ open, onClose, server }: Props) { !serverStatus.healthy && isNonEmptyString(field.value) ? ( <> - Server is unreachable + + Server is unreachable +
) : null @@ -262,7 +265,9 @@ export function PlexServerEditDialog({ open, onClose, server }: Props) { }} render={({ field, formState: { errors } }) => ( - Access Token + + Access Token{' '} + )} - For more details on manually retrieving a Plex token, see{' '} - - here - + + For more details on manually retrieving a Plex token, + see{' '} + + here + + @@ -329,7 +337,7 @@ export function PlexServerEditDialog({ open, onClose, server }: Props) { - + + + + Tunarr will attempt to get Plex to pull Tunarr's updated + XMLTV upon regeneration + + - + + ( + + )} + /> + } + label={t`Update Play Status`} + /> + + + Tunarr will update Plex's "now playing" state while channels + are active. + + + + diff --git a/web/src/generated/types.gen.ts b/web/src/generated/types.gen.ts index 07a42f800..ee8fb6a50 100644 --- a/web/src/generated/types.gen.ts +++ b/web/src/generated/types.gen.ts @@ -370,6 +370,8 @@ export type TerminalProgramInput = { path?: string | null; }>; state: 'ok' | 'missing'; + artistName?: string | null; + albumName?: string | null; mediaSourceId: string; libraryId: string; canonicalId: string; @@ -1780,6 +1782,8 @@ export type TerminalProgram = { path?: string | null; }>; state: 'ok' | 'missing'; + artistName?: string | null; + albumName?: string | null; mediaSourceId: string; libraryId: string; canonicalId: string; @@ -8516,10 +8520,6 @@ export type GetApiMediaSourcesResponses = { 200: Array<{ id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8534,6 +8534,11 @@ export type GetApiMediaSourcesResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'plex'; sendGuideUpdates: boolean; index: number; @@ -8541,10 +8546,6 @@ export type GetApiMediaSourcesResponses = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8559,14 +8560,15 @@ export type GetApiMediaSourcesResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8581,6 +8583,11 @@ export type GetApiMediaSourcesResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -8610,39 +8617,42 @@ export type GetApiMediaSourcesResponse = GetApiMediaSourcesResponses[keyof GetAp export type PostApiMediaSourcesData = { body?: { name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken: string; + userId: string | null; + sendPlayStatusUpdates?: boolean; + username: string | null; type: 'plex'; sendGuideUpdates?: boolean; index?: number; clientIdentifier?: string; } | { name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; - type: 'jellyfin'; - } | { - name: string; uri: string; accessToken: string; userId: string | null; + sendPlayStatusUpdates?: boolean; username: string | null; + type: 'jellyfin'; + } | { + name: string; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken: string; + userId: string | null; + sendPlayStatusUpdates?: boolean; + username: string | null; type: 'emby'; } | { name: string; @@ -8712,10 +8722,6 @@ export type GetApiMediaSourcesByMediaSourceIdResponses = { 200: { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8730,6 +8736,11 @@ export type GetApiMediaSourcesByMediaSourceIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'plex'; sendGuideUpdates: boolean; index: number; @@ -8737,10 +8748,6 @@ export type GetApiMediaSourcesByMediaSourceIdResponses = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8755,14 +8762,15 @@ export type GetApiMediaSourcesByMediaSourceIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -8777,6 +8785,11 @@ export type GetApiMediaSourcesByMediaSourceIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -8845,14 +8858,15 @@ export type GetApiMediaSourcesByIdLibrariesResponses = { mediaSource?: { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'plex'; sendGuideUpdates: boolean; index: number; @@ -8860,26 +8874,28 @@ export type GetApiMediaSourcesByIdLibrariesResponses = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -8941,14 +8957,15 @@ export type PutApiMediaSourcesByIdLibrariesByLibraryIdResponses = { mediaSource?: { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'plex'; sendGuideUpdates: boolean; index: number; @@ -8956,26 +8973,28 @@ export type PutApiMediaSourcesByIdLibrariesByLibraryIdResponses = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -9024,10 +9043,6 @@ export type GetApiMediaLibrariesByLibraryIdResponses = { mediaSource: { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -9042,6 +9057,11 @@ export type GetApiMediaLibrariesByLibraryIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'plex'; sendGuideUpdates: boolean; index: number; @@ -9049,10 +9069,6 @@ export type GetApiMediaLibrariesByLibraryIdResponses = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -9067,14 +9083,15 @@ export type GetApiMediaLibrariesByLibraryIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; libraries: Array<{ id: string; name: string; @@ -9089,6 +9106,11 @@ export type GetApiMediaLibrariesByLibraryIdResponses = { serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -9368,14 +9390,15 @@ export type PutApiMediaSourcesByIdData = { body?: { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates?: boolean; + username: string | null; type: 'plex'; sendGuideUpdates?: boolean; index: number; @@ -9383,26 +9406,28 @@ export type PutApiMediaSourcesByIdData = { } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates?: boolean; + username: string | null; type: 'jellyfin'; } | { id: string; name: string; - uri: string; - accessToken: string; - userId: string | null; - username: string | null; pathReplacements: Array<{ serverPath: string; localPath: string; }>; + uri: string; + accessToken?: string; + userId: string | null; + sendPlayStatusUpdates?: boolean; + username: string | null; type: 'emby'; } | { id: string; @@ -11244,6 +11269,8 @@ export type GetApiPlexByMediaSourceIdSearchResponses = { path?: string | null; }>; state: 'ok' | 'missing'; + artistName?: string | null; + albumName?: string | null; mediaSourceId: string; libraryId: string; canonicalId: string; diff --git a/web/src/locales/en/messages.po b/web/src/locales/en/messages.po index 644a97936..ac3710b8b 100644 --- a/web/src/locales/en/messages.po +++ b/web/src/locales/en/messages.po @@ -298,16 +298,16 @@ msgstr "A-Z (desc)" msgid "about " msgstr "about " -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:362 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:398 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:439 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:455 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:424 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:456 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:472 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:265 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:281 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:367 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:405 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:451 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:468 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:432 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:474 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:511 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:528 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:269 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:286 msgid "Access Token" msgstr "Access Token" @@ -315,10 +315,10 @@ msgstr "Access Token" #: src/components/settings/AddPlexServer.tsx:14 #: src/components/settings/media_source/AddMediaSourceButton.tsx:83 #: src/components/settings/media_source/EditPathReplacementsForm.tsx:34 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 #: src/hooks/useRouteName.ts:83 msgid "Add" msgstr "Add" @@ -650,7 +650,7 @@ msgstr "Auto Deinterlace Video" msgid "Auto uses the time convention for the selected language." msgstr "Auto uses the time convention for the selected language." -#: src/components/settings/media_source/PlexServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:352 msgid "Auto-Update Guide" msgstr "Auto-Update Guide" @@ -786,10 +786,10 @@ msgstr "Calculating Slots..." #: src/components/programming_controls/BalanceProgrammingModal.tsx:68 #: src/components/programming_controls/RemoveShowsModal.tsx:429 #: src/components/programming_controls/ShuffleProgrammingModal.tsx:76 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:486 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:503 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:501 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:583 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:330 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:387 #: src/components/settings/UnsavedNavigationAlert.tsx:67 #: src/components/slot_scheduler/EditRandomSlotDialogContent.tsx:576 #: src/components/slot_scheduler/EditTimeSlotDialogContent.tsx:408 @@ -804,9 +804,9 @@ msgstr "Calculating Slots..." msgid "Cancel" msgstr "Cancel" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:280 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:294 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:214 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:281 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:342 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:215 msgid "Cannot be empty" msgstr "Cannot be empty" @@ -1287,7 +1287,7 @@ msgstr "Description" msgid "Details" msgstr "Details" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:196 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:203 msgid "Did not receive an accessToken or userId from Jellyfin server." msgstr "Did not receive an accessToken or userId from Jellyfin server." @@ -1469,14 +1469,14 @@ msgstr "Edit Transcode Config: \"{0}\"" #. placeholder {0}: server.name #. placeholder {0}: source.name -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:214 msgid "Editing \"{0}\"" msgstr "Editing \"{0}\"" #. placeholder {0}: server.name -#: src/components/settings/media_source/PlexServerEditDialog.tsx:77 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 msgid "Editing Plex Server \"{0}\"" msgstr "Editing Plex Server \"{0}\"" @@ -1574,11 +1574,11 @@ msgstr "Ensures programs have a nice-looking start time, it will add Flex time t msgid "Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate." msgstr "Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate." -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:342 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:345 msgid "Enter a name for your Emby Server" msgstr "Enter a name for your Emby Server" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:356 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:406 msgid "Enter a name for your Jellyfin Server" msgstr "Enter a name for your Jellyfin Server" @@ -1586,11 +1586,11 @@ msgstr "Enter a name for your Jellyfin Server" msgid "Enter a name for your Local Media Source" msgstr "Enter a name for your Local Media Source" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:413 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:420 msgid "Enter your Emby password to generate a new access token." msgstr "Enter your Emby password to generate a new access token." -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:439 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:489 msgid "Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token." msgstr "Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token." @@ -1632,11 +1632,11 @@ msgstr "Error Options" msgid "Error querying Plex. Check console log and consider reporting a bug!" msgstr "Error querying Plex. Check console log and consider reporting a bug!" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:146 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:147 msgid "Error saving new Emby server. See browser console and server logs for details" msgstr "Error saving new Emby server. See browser console and server logs for details" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:115 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:122 msgid "Error saving new Jellyfin server. See browser console and server logs for details" msgstr "Error saving new Jellyfin server. See browser console and server logs for details" @@ -1946,7 +1946,7 @@ msgstr "Flex" msgid "Flex Style" msgstr "Flex Style" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:292 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:297 msgid "For more details on manually retrieving a Plex token, see <0>here" msgstr "For more details on manually retrieving a Plex token, see <0>here" @@ -2392,11 +2392,11 @@ msgstr "Manage Libraries" msgid "Manual" msgstr "Manual" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:467 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:480 msgid "Manually add an access token from your Emby server" msgstr "Manually add an access token from your Emby server" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:484 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:540 msgid "Manually add an access token from your Jellyfin server" msgstr "Manually add an access token from your Jellyfin server" @@ -2569,10 +2569,10 @@ msgstr "Must use a valid URL, or empty." #: src/components/settings/ConnectMediaSources.tsx:44 #: src/components/settings/ffmpeg/TranscodeConfigSettingsForm.tsx:95 #: src/components/settings/ffmpeg/TranscodeConfigsTable.tsx:93 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:335 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:349 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:338 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:399 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:238 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:317 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:325 #: src/components/smart_collections/CreateSmartCollectionDialog.tsx:162 #: src/components/smart_collections/EditSmartCollectionDialog.tsx:108 #: src/components/smart_collections/SmartCollectionsTable.tsx:59 @@ -2585,10 +2585,10 @@ msgstr "Must use a valid URL, or empty." msgid "Name" msgstr "Name" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:330 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:333 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:394 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:233 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:312 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:320 msgid "Name can only contain alphanumeric characters, dashes, and underscores" msgstr "Name can only contain alphanumeric characters, dashes, and underscores" @@ -2619,7 +2619,7 @@ msgstr "New Channel" msgid "New Custom Show" msgstr "New Custom Show" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 msgid "New Emby Media Source" msgstr "New Emby Media Source" @@ -2631,11 +2631,11 @@ msgstr "New Filler List" msgid "New Local Media Source" msgstr "New Local Media Source" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 msgid "New Media Source" msgstr "New Media Source" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:79 msgid "New Plex Server" msgstr "New Plex Server" @@ -2707,9 +2707,9 @@ msgstr "Normalize Frame Rate" msgid "Not a valid number" msgstr "Not a valid number" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:282 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:296 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:216 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:283 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:217 msgid "Not a valid URL" msgstr "Not a valid URL" @@ -2777,8 +2777,8 @@ msgstr "Operator" msgid "Options" msgstr "Options" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:418 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:448 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:428 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:501 msgid "OR" msgstr "OR" @@ -2858,8 +2858,8 @@ msgstr "Pad Times" msgid "Passthrough audio unchanged. Other settings will not apply." msgstr "Passthrough audio unchanged. Other settings will not apply." -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:407 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:388 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:457 msgid "Password" msgstr "Password" @@ -3028,9 +3028,9 @@ msgstr "Programs Too Long" msgid "Properties" msgstr "Properties" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:284 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:298 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:218 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:285 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:346 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:219 msgid "Protocol must be HTTP or HTTPS" msgstr "Protocol must be HTTP or HTTPS" @@ -3447,9 +3447,9 @@ msgstr "Selected Audio" msgid "Selected Subtitle" msgstr "Selected Subtitle" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:305 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:319 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:239 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:307 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:368 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:241 msgid "Server is unreachable" msgstr "Server is unreachable" @@ -4004,11 +4004,11 @@ msgstr "To use Tunarr, you need to first connect a media source. This will allow msgid "Today" msgstr "Today" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:390 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:447 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:416 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:464 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:273 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:397 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:460 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:466 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:520 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:278 msgid "toggle access token visibility" msgstr "toggle access token visibility" @@ -4083,6 +4083,18 @@ msgstr "Tunarr is currently configured to use the AC3 audio encoder. This audio msgid "Tunarr runs various tasks, sometimes on a schedule, for background operations." msgstr "Tunarr runs various tasks, sometimes on a schedule, for background operations." +#: src/components/settings/media_source/PlexServerEditDialog.tsx:355 +msgid "Tunarr will attempt to get Plex to pull Tunarr's updated XMLTV upon regeneration" +msgstr "Tunarr will attempt to get Plex to pull Tunarr's updated XMLTV upon regeneration" + +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:571 +msgid "Tunarr will update Jellyfin's \"now playing\" state while channels are active." +msgstr "Tunarr will update Jellyfin's \"now playing\" state while channels are active." + +#: src/components/settings/media_source/PlexServerEditDialog.tsx:375 +msgid "Tunarr will update Plex's \"now playing\" state while channels are active." +msgstr "Tunarr will update Plex's \"now playing\" state while channels are active." + #: src/pages/settings/HdhrSettingsPage.tsx:105 #: src/pages/settings/HdhrSettingsPage.tsx:108 msgid "Tuner Count" @@ -4120,16 +4132,21 @@ msgstr "Unlink" #~ msgid "Unlink from group" #~ msgstr "Unlink from group" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 msgid "Update" msgstr "Update" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:291 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:305 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:225 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:568 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:372 +msgid "Update Play Status" +msgstr "Update Play Status" + +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:292 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:226 #: src/pages/settings/MediaSourceSettingsPage.tsx:88 msgid "URL" msgstr "URL" @@ -4146,8 +4163,8 @@ msgstr "Use Show Poster" msgid "Use these settings to override global ffmpeg settings for this channel." msgstr "Use these settings to override global ffmpeg settings for this channel." -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:357 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:376 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:361 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:426 msgid "Username" msgstr "Username" diff --git a/web/src/locales/en/messages.ts b/web/src/locales/en/messages.ts index d1335e54f..bf7cd9049 100644 --- a/web/src/locales/en/messages.ts +++ b/web/src/locales/en/messages.ts @@ -1 +1,4 @@ -/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"++nzCr\":[\"Bit Depth\"],\"+2JHIs\":[\"Link to existing slot\"],\"+406Vu\":[\"View Full Details\"],\"+4YwQF\":[\"# of Programs\"],\"+4mjS6\":[\"Remove icon\"],\"+9EErD\":[\"Music Videos\"],\"+DmLct\":[\"Programs\"],\"+SA5Ao\":[\"A root path to scan for media. Local sources can search many different paths.\"],\"+TZiPJ\":[\"Server is unreachable\"],\"+UPOiB\":[[\"count\",\"plural\",{\"one\":[\"min\"],\"other\":[\"mins\"]}]],\"+Xg5cX\":[\"Filler is picked fresh at stream time like Flex time. The guide shows \\\"Commercial Break\\\" placeholders.\"],\"+YdE7b\":[\"Enable rolling log files using time and/or size based criteria\"],\"+hl/7A\":[\"Channels configured to use the HLS Direct stream mode will output in the selected container format.\"],\"+k9lxR\":[\"Enter a name for your Local Media Source\"],\"+mdNfU\":[[\"count\",\"plural\",{\"one\":[\"#\",\" track\"],\"other\":[\"#\",\" tracks\"]}]],\"+suWTj\":[\"Adds Flex breaks between programs, attempting to avoid groups of consecutive programs that exceed the specified number of minutes.\"],\"+tlhMz\":[\"Plex (Manual)\"],\"+yEE7s\":[\"New Media Source\"],\"+yOcRn\":[\"HDHR\"],\"+ya1pX\":[\"Delete Slot\"],\"+zY9Xc\":[\"Configure Cyclic Shuffle\"],\"+zy2Nq\":[\"Type\"],\"/+ZaFm\":[\"Soundtrack\"],\"/4gGIX\":[\"Copy to clipboard\"],\"/6iIT9\":[\"Settings Saved!\"],\"/DTWjr\":[\"Congrats, you're ready to start building channels! Just click Finish below to start working on your first channel.\"],\"/QmYEW\":[\"Balance...\"],\"/TEOcd\":[\"Presets\"],\"/e88IO\":[\"Schedule programming in blocks that are either count or duration based. Can be used to generate random schedules.\"],\"/gavzH\":[\"Basic button group\"],\"/j3jjC\":[\"Error while saving settings. Please check console for details.\"],\"/n/HCO\":[\"Keywords\"],\"/rTz0M\":[\"Audio\"],\"/vJase\":[\"Streaming\"],\"09gg05\":[\"Programming\"],\"0IAEaX\":[\"Match\"],\"0MWZh1\":[\"Search is currently scoped to this Media Source Library.\"],\"0VHz2s\":[\"Filler Options\"],\"0cULRy\":[\"Experimental: Make perfect schedule loop\"],\"0dy9K6\":[\"Read Less\"],\"0mEBXY\":[\"Delete Transcoding Config \\\"\",[\"0\"],\"\\\"?\"],\"0wJVK+\":[\"Basic\"],\"0zpgxV\":[\"Options\"],\"1/dAym\":[\"Grouping works as follows:\"],\"14PdY0\":[\"Config\"],\"1AdBl9\":[\"Break Positioning\"],\"1BDPP1\":[\"Looks like something went wrong.\"],\"1BGQfg\":[\"Alphabetically\"],\"1CFAQ+\":[\"Set by environment variable\"],\"1DxLRi\":[\"No programming scheduled for this time period\"],\"1PQRWr\":[\"Start Time\"],\"1QfxQT\":[\"Dismiss\"],\"1TYXl0\":[\"Enter your Emby password to generate a new access token.\"],\"1V3Prt\":[\"Deleting a Filler will remove all programming from the channel. This action cannot be undone.\"],\"1Z90J4\":[\"Days to Precalculate\"],\"1hKEom\":[\"Priority\"],\"1jqDmP\":[\"Successfully scheduled \",[\"taskId\"],\" (running in background).\"],\"1njn7W\":[\"Light\"],\"2BBAbc\":[\"List\"],\"2BRPyl\":[\"System Info\"],\"2CVuYr\":[\"Smart Collection - \",[\"0\"]],\"2L7cj6\":[\"You haven't created any channels yet.\"],\"2QLniG\":[\"Existing query: \",[\"filterString\"]],\"2eFlmt\":[\"Tracks\"],\"2hOCU2\":[\"Smart Collections\"],\"2imNg3\":[\"Web version = \",[\"0\"],\", Server version = \",[\"1\"]],\"2mAJXf\":[\"Makes multiple copies of the schedule and plays them in sequence. Normally this isn't necessary, because Tunarr will always play the schedule back from the beginning when it finishes. But creating replicas is a useful intermediary step sometimes before applying other transformations. Note that because very large channels can be problematic, the number of replicas will be limited to avoid creating really large channels.\"],\"2oWehJ\":[\"Reset to current date/time\"],\"2vxecF\":[\"Show Stealth\"],\"2x4THe\":[\"\\\"\",[\"0\"],\"\\\" Sessions\"],\"312fSE\":[\"Select Shows to Remove\"],\"315BhT\":[\"Alphabetical\"],\"3JIYke\":[\"Healthy?\"],\"3JQkm5\":[\"Path Replacements\"],\"3JjdaA\":[\"Run\"],\"3LfNqe\":[\"Channel Number\"],\"3SH6Vv\":[\"Copied channel \\\"\",[\"channelName\"],\"\\\" m3u link to clipboard\"],\"3YNjnA\":[\"System Environment\"],\"3b1vGb\":[\"New Local Media Source\"],\"3mAQJI\":[\"How often the XMLTV file is regenerated\"],\"3nLdaX\":[\"Add \",[\"0\"]],\"3nwcC5\":[\"Filler - \",[\"0\"]],\"49dCCB\":[\"Use Show Poster\"],\"4Fpcxu\":[\"Initial Delay (minutes)\"],\"4NbDEd\":[\"Deleting a Custom Show will remove its programming from channels that use it. This action cannot be undone.\"],\"4Uc/2h\":[\"Server Listen Port\"],\"4VxpoP\":[\"Music tracks are grouped by artist\"],\"4XSc4l\":[\"Weekly\"],\"4XfYeY\":[\"Random (by show)\"],\"4fLgiT\":[\"Allow Image Based\"],\"4qmJK4\":[\"Tunarr Backend URL\"],\"4wkwyL\":[\"Disable Hardware Filters\"],\"4yQF++\":[\"Custom show programs are grouped by their parent show\"],\"50whWJ\":[\"XMLTV Link:\"],\"53/4tH\":[\"Audio Options\"],\"536Xwe\":[\"Error copying to clipboard!\"],\"53tfay\":[\"This allows to schedule specific shows to run at specific time slots of the day or a week. It's recommended you first populate the channel with the episodes from the shows you want to play and/or other content like movies and redirects.\"],\"5ABghp\":[\"FFmpeg Settings\"],\"5V93hk\":[\"Schedule programming using slots assigned a start time and duration.\"],\"5WeWGz\":[\"Selected Subtitle\"],\"5k0NLb\":[\"Review\"],\"5lSgNP\":[\"Enable SSDP server\"],\"5nsbxB\":[\"Alternates TV shows in blocks of episodes. You can pick the number of episodes per show in each block and if the order of shows in each block should be randomized. Movies are moved to the bottom.\"],\"5qV3NN\":[\"Flex Style\"],\"5yIPLp\":[\"Oops!\"],\"6/dCYd\":[\"Overview\"],\"63/DSM\":[\"Transcoding Configs\"],\"63driG\":[\"Stream JSON\"],\"67RoFa\":[\"Pipeline\"],\"6Y9c2m\":[\"This slot is linked with \",[\"0\"],\" other slot(s). Content fields are shared across the group.\"],\"6YtxFj\":[\"Name\"],\"6ZMWKw\":[\"XMLTV\"],\"6bbWRs\":[\"Add programming to custom show\"],\"6dvIbw\":[\"Unlink\"],\"6jAi8c\":[\"Range\"],\"6jfS51\":[\"Welcome\"],\"6ki7F2\":[[\"0\",\"plural\",{\"one\":[\"#\",\" item\"],\"other\":[\"#\",\" items\"]}]],\"6mJ9tF\":[\"FFMPEG is not detected.\"],\"6mpwdR\":[\"Match all of\"],\"6pL6be\":[\"Configure what appears on your channel when there is no suitable filler content available. Using channel fallbacks requires ffmpeg transcoding.\"],\"6w0yiE\":[\"FFMPEG Log Level\"],\"6zfUar\":[\"Stream Selection\"],\"71O7b0\":[\"Media Info\"],\"73XwX0\":[\"No programs selected\"],\"73flfT\":[\"QSV Device\"],\"7B3lfh\":[\"Items from any filler list will not be chosen more frequently than this cooldown setting.\"],\"7LWPgS\":[\"Enabled (loudnorm)\"],\"7ODkf5\":[\"Log level to pass to ffmpeg. Read more about ffmpeg's log levels <0>here\"],\"7Q5AKf\":[[\"count\",\"plural\",{\"one\":[\"track\"],\"other\":[\"tracks\"]}]],\"7b2stB\":[\"Media Type\"],\"7eMo+U\":[\"Go Home\"],\"7eZlTH\":[\"Sort TV Shows (asc)\"],\"7iJlKU\":[\"Please choose a value greater than 1\"],\"7pMNGK\":[\"Programs saved!\"],\"7sNhEz\":[\"Username\"],\"7tvV2B\":[\"Min Duration (minutes)\"],\"7uohY3\":[\"TV shows are grouped by show\"],\"80t7Ii\":[\"Increasing \\\"Max Lateness\\\" for the schedule.\"],\"87a/t/\":[\"Label\"],\"8E9KXK\":[\"Feature flags saved!\"],\"8MIU1T\":[\"Program\"],\"8TMaZI\":[\"Timestamp\"],\"8ZsakT\":[\"Password\"],\"8vETh9\":[\"Show\"],\"8wngZM\":[\"Fallback\"],\"8wu9lr\":[\"Queued\"],\"9+90+V\":[\"Enable Log File Rolling\"],\"94qSvE\":[\"Synced with external playlist\"],\"96zw7M\":[\"This show is marked as missing in the database.\"],\"983IRa\":[\"All linked slots show the same episode, advancing only after all have played.\"],\"9E+eyD\":[\"Output video at a constant frame rate.\"],\"9E9tRC\":[\"Fill with Flex\"],\"9Eq43e\":[\"If set, all watermark overlays will be disabled for channels assigned this transcode config.\"],\"9GPYnX\":[\"Do not group programs at all. Normal shuffle.\"],\"9WG5wy\":[\"Specials\"],\"9asVsi\":[\"How long each commercial break lasts\"],\"9qdNKR\":[\"Error Options\"],\"9sqrEU\":[\"Filler List\"],\"9td1Wl\":[\"Check\"],\"9vtG84\":[\" Scheduling Strategy\"],\"A+GCyx\":[\"Hide Advanced\"],\"A0+T6c\":[\"Reset Changes\"],\"A1taO8\":[\"Search\"],\"A7WmPm\":[\"New Plex Server\"],\"A9Rhec\":[\"Channel Name\"],\"ACKu03\":[\"Refresh Preview\"],\"AKjNTL\":[\"Add Padding\"],\"AM972O\":[\"Add Redirect\"],\"ANICN0\":[\"No media sources connected.\"],\"AO2Z5d\":[\"Movie, \",[\"0\"]],\"AOHgZp\":[\"Episodes\"],\"AVKoQM\":[\"Redirect to \\\"\",[\"0\"],\"\\\"\"],\"AXg7m0\":[\"Search is currently scoped to this Media Source.\"],\"AXjA78\":[\"Field\"],\"AdfhAd\":[\"If there are issues playing a video, Tunarr will try to use an error screen as a placeholder while retrying loading the video every 60 seconds.\"],\"AdogaJ\":[\"Pipeline Steps\"],\"AlfqgK\":[\"Watch\"],\"ApsQAb\":[\"HDHR: Loading...\"],\"AyInY5\":[\"Video Options\"],\"AzCYkg\":[\"Connect Media Sources\"],\"B+HsXP\":[\"FFMPEG: \",[\"0\"]],\"B1NOvD\":[\"Removes all programs from schedule\"],\"B1W8vw\":[\"Delete \\\"\",[\"0\"],\"\\\"\"],\"BGHH1t\":[\"Min. Visible in Guide Duration Program (seconds)\"],\"BJjJuo\":[\"EPG (Hours)\"],\"BMlGCC\":[\"Click to preview the items in this Custom Show. Note that only the whole show can be added at once.\"],\"BQsifH\":[\"Stream Info\"],\"BWTzAb\":[\"Manual\"],\"BXXjCD\":[\"FFmpeg not found. For all features to work, we recommend installing FFmpeg 7.1+ or update your FFmpeg executable path in settings.\"],\"BaUuhR\":[\"Codec\"],\"BlmmxH\":[\"FFmpeg Log\"],\"Bq0ryo\":[\"Reset Options\"],\"BtL93c\":[[\"0\",\"plural\",{\"one\":[\"#\",\" source connected.\"],\"other\":[\"#\",\" sources connected.\"]}]],\"C4KL42\":[\"Consolidates contiguous match flex and redirect blocks into singular spans\"],\"C6jEO3\":[\"Log Level\"],\"CAiikc\":[\"Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token.\"],\"CJkEfx\":[\"Block\"],\"CKQ3t3\":[\"Total Runtime\"],\"CMQ09J\":[\"Scanning\"],\"COv7As\":[\"Cooldown (seconds)\"],\"CRsuq4\":[\"Every\"],\"CVqySE\":[[\"len\",\"plural\",{\"one\":[\"There is \",\"#\",\" warning. Click for details.\"],\"other\":[\"There are \",\"#\",\" warnings. Click for details.\"]}]],\"CWRFGq\":[\"Modify Programming\"],\"CXDHcv\":[\"Grid\"],\"CcX8VV\":[\"Completely randomizes the order of programs.\"],\"CeyB7O\":[\"FFmpeg Executable Path\"],\"CfOWar\":[\"Logarithmic decay, lighter weighting.\"],\"CfUvtM\":[\"Error saving new Smart Collection. Check server logs and browser console for details.\"],\"CfxLtO\":[\"Program JSON\"],\"Cko536\":[\"Descending\"],\"Cp5Awv\":[\"Duration must be greater than 0.\"],\"CqSP2T\":[\"Edit Channel Redirect\"],\"CsrDsg\":[\"12-hour\"],\"Cxqf0C\":[\"Plex (Auto)\"],\"D+NlUC\":[\"System\"],\"D1Fhv3\":[[\"count\",\"plural\",{\"one\":[\"episode\"],\"other\":[\"episodes\"]}]],\"DPfwMq\":[\"Done\"],\"DRya1t\":[\"Audio Volume\"],\"DSwJ9W\":[\"Enable Animation\"],\"DUd3Ss\":[\"Sorts the list by TV Show and the episodes in each TV show by their season/episode number. Movies are moved to the bottom of the schedule.\"],\"DbouLP\":[\"Back to Programming\"],\"Dd9orS\":[\"Remove All \",[\"movieCount\"],\" \",[\"movieCount\",\"plural\",{\"one\":[\"Movie\"],\"other\":[\"Movies\"]}]],\"Dnn2XG\":[\"Automatic\"],\"DoJzLz\":[\"Collections\"],\"DxvGLB\":[\"Add Slot\"],\"E/QGRL\":[\"Disabled\"],\"E5ipHC\":[\"Balance By:\"],\"E8oclZ\":[\"Copied Channel ID!\"],\"EKlukx\":[\"Copy Full Report\"],\"EL4/HD\":[[\"0\",\"plural\",{\"one\":[\"program\"],\"other\":[\"programs\"]}]],\"EdQY6l\":[\"None\"],\"EkH9pt\":[\"Update\"],\"Etie0Q\":[\"All channels assigned to this config will be set to use the default configuration. If this is the last configuration, a new default configuration will be created.\"],\"Eu20Os\":[\"Time Slots\"],\"Ev2r9A\":[\"No results\"],\"F1l877\":[\"Subtitle Streams\"],\"F3bW6y\":[\"Platform\"],\"F3smBd\":[\"Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.<0/><1>Note: Previewing the schedule in the browser for long lengths of time can cause UI performance issues\"],\"FDEfoy\":[\"Deleting a media source will remove all of its associated programs from Tunarr.\"],\"FXCwT9\":[\"FFprobe Executable Path\"],\"FZg3wM\":[\"Operation\"],\"FmN5me\":[\"Resolution\"],\"FnChN1\":[\"Enable <0>EBU R 128 loudness normalization via the <1>loudnorm FFmpeg filter. May increase CPU usage during streaming.\"],\"Fp7p73\":[\"Time between subsequent breaks\"],\"FqCHF/\":[\"Threads\"],\"FrRP21\":[\"There was an error when submitting the form. Please see console logs for details.\"],\"FsF4bb\":[\"Audio Loudness Normalization\"],\"FssFce\":[\"Configure preferred audio languages globally.\"],\"Fzn/BQ\":[\"Release Date\"],\"G+8qH5\":[\"Channel name is required\"],\"GDKKxT\":[\"Access Token\"],\"GHOK4Z\":[\"Time Format\"],\"GJ1P5j\":[\"File a Bug Report\"],\"GKLqtE\":[\"Set the host of your Tunarr backend. When empty, the web UI will use the current host/port to communicate with the backend.\"],\"GLOZdc\":[\"Custom Shows\"],\"GP/CFo\":[\"HW Accel\"],\"GQ3O42\":[\"Trash\"],\"GRCrpV\":[\"Manage Libraries\"],\"GUtCZC\":[\"Version: \",[\"0\"]],\"GhZ4GX\":[\"Error while copying to clipboard. Check browser logs for details\"],\"GmP0oY\":[\"Slot Warnings\"],\"GmTnBN\":[\"Enable ffmpeg logging to different sinks. Outputting to a file will create a new log file for every spawned ffmpeg process in the Tunarr log directory. These files are automatically cleaned up by a background process.\"],\"Gr1Ik2\":[\"Nvidia Capabilities\"],\"GtycJ/\":[\"Tasks\"],\"GzzMwi\":[\"Roll on Schedule\"],\"H0QGc9\":[\"Filler List Cooldown (seconds)\"],\"H1OFlu\":[\"Inverse linear decay, heavier weighting.\"],\"H1V+2G\":[\"To use Tunarr, you must first connect at least one media source. Media sources provide all content used to create channels in Tunarr. Plex and Jellyfin are currently supported.\"],\"H3OF1s\":[\"Tuner Count\"],\"H7OUPr\":[\"Day\"],\"H8100o\":[\"Filler lists are collections of videos that you may want to play during 'flex' time segments. Flex is time within a channel that does not have a program scheduled (usually used for padding).\"],\"HDoQBx\":[\"Channel settings saved!\"],\"HEH0PR\":[\"Must define at least one language preference\"],\"HErtdg\":[\"Name can only contain alphanumeric characters, dashes, and underscores\"],\"HLlLPP\":[\"Channel Stream Mode\"],\"HMWEIt\":[\"Edit Flex Time\"],\"HOLbdk\":[\"Failed to load stream details! Check logs for details\"],\"HSfauP\":[\"This slot is linked with \",[\"0\"],\" other \",[\"1\",\"plural\",{\"one\":[\"slot\"],\"other\":[\"slots\"]}],\". Content fields are shared across the group.\"],\"HVpg3x\":[\"Failed to load Smart Collection\"],\"HXx+vU\":[\"Controls what happens when this slot runs out of replayed content from earlier continue slots.\"],\"HYCPKT\":[\"Add Selected Media\"],\"HajiZl\":[\"Month\"],\"HdE1If\":[\"Channel\"],\"Hjfx9G\":[\"Audio & Subtitles\"],\"HmHwcC\":[\"Fixed Interval\"],\"HptUxX\":[\"Number\"],\"HqUilK\":[\"Keywords perform full text search across all (or configured) fields\"],\"HzV8B2\":[\"Skip mid-roll for programs shorter than this\"],\"I+FvbD\":[\"Scan\"],\"I2Bar3\":[\"Shows\"],\"I5BU70\":[\"Smart Collection: \",[\"0\"]],\"I6gXOa\":[\"Path\"],\"IDlmXg\":[\"Tunarr Backend URL:\"],\"IFiQdD\":[\"Channels M3U Link:\"],\"IMxI++\":[\"Not a valid URL\"],\"INCbO6\":[\"On-Demand channels resume from where you left off. Programming is paused when the channel is not streaming.<0/><1>NOTE: While the channel is inactive, the TV Guide for the channel will be empty.\"],\"IagCbF\":[\"URL\"],\"IetKlB\":[\"New Custom Show\"],\"IgC1fP\":[\"Enable light Mode\"],\"IiBgkW\":[\"Failed to update Media Source settings. Please check server and browser logs for details.\"],\"IoSxk9\":[\"Protocol must be HTTP or HTTPS\"],\"IvkbIT\":[\"Read More\"],\"J/eF78\":[\"Removing overrun programs from the channel.\"],\"J0NKO1\":[\"Exclude Seasons\"],\"J2eKUI\":[\"File\"],\"J2lnQW\":[\"Pre\"],\"J41wt0\":[\"Slot Editor\"],\"J4Ngmi\":[\"Loop Short Programs\"],\"J50/e4\":[\"Filter Type\"],\"J8X80J\":[\"Stealth?\"],\"JCGCcQ\":[\"Sorts everything by its release date. This will only work correctly if the release dates in Plex are correct. In case any item does not have a release date specified, it will be moved to the bottom.\"],\"JCOZTc\":[\"Audio & Subtitle Options\"],\"JOFDLs\":[\"Program Playback Troubleshooter\"],\"JeAvlS\":[\"Pad Times\"],\"JeL1O4\":[\"Redirect duration\"],\"Jj3SJk\":[\"A-Z (asc)\"],\"JmZ/+d\":[\"Finish\"],\"Jpe9a8\":[\"Attempts to balance programming groups by either total lineup duration or number of unique programs. For instance, for a channel with many seasons of one show and few seasons of another, balancing will attempt to create an even mix of both shows by inserting repeats of the show with fewer episodes.\"],\"JryIGL\":[\"Adjust Weights\"],\"Jsel0T\":[\"This channel has an existing time slot schedule. A channel can only use one scheduling type at a time. Saving a schedule here will remove the existing time slot schedule.\"],\"Jtbzxr\":[\"Version: unknown\"],\"JxE+Bh\":[\"Allows you to pick specific programming to remove from the channel.\"],\"JyHA6G\":[\"Displays the last \",[\"0\"],\" system log events. Use the buttons below to export these logs or download the entire log file for debugging.\"],\"JzJk+4\":[\"Add Language Preference\"],\"K09nyY\":[\"Linked slots advance episode progression together sequentially.\"],\"K8+dbZ\":[[\"totalConnections\"],\" total\"],\"K9pQ8Q\":[\"Disable Watermarks\"],\"KRjDf4\":[\"Audio Streams\"],\"Khe/Vb\":[\"Watch Channel\"],\"KkOthv\":[\"Guide\"],\"Km5fSd\":[\"If you are confident FFMPEG is installed, you may just need to update the executable path in the settings. To do so, simply click Edit above to update the path.\"],\"L+8pV5\":[\"Sync with external playlist\"],\"L/KmPM\":[\"Usually slots need to add flex time to ensure that the next slot starts at the correct time. When there are multiple videos in the slot, you might prefer to distribute the flex time between the videos or to place most of the flex time at the end of the slot.\"],\"L6Mhe6\":[\"You have unsaved changes!\"],\"L8Hb+D\":[\"Sets the number of threads used to decode the input stream. Set to 0 to let ffmpeg automatically decide how many threads to use. Read more about this option <0>here. <1>Note: this option is overridden to 1 when using hardware accelearation for stability reasons.\"],\"LKPR6G\":[\"Playlist\"],\"LKSv28\":[\"Smart Collections are self-updating content lists. You set the query and the collection automatically adds any new content from your library that fits those rules. Any newly added content matching query will not modify existing channel programming at this time.\"],\"LMMGPr\":[\"Submitting...\"],\"LRvqnF\":[\"Error saving new Jellyfin server. See browser console and server logs for details\"],\"LTC198\":[\"Running...\"],\"LTYRAI\":[\"View Library\"],\"LiCr5o\":[\"Limit must be numeric\"],\"MHrjPM\":[\"Title\"],\"MKK96e\":[\"View Collection\"],\"MR6Nlf\":[\"Change the verbosity of specific categories of logs. Useful if debugging a specific feature.\"],\"MS1Dhi\":[\"Max file size (bytes)\"],\"MVBLYK\":[\"Remove...\"],\"MW42Hp\":[\"Customize how movie blocks are sorted\"],\"Md/eZS\":[[\"count\",\"plural\",{\"one\":[\"#\",\" item\"],\"other\":[\"#\",\" items\"]}]],\"MfkGXC\":[\"Shuffle Grouping\"],\"MkMcGz\":[\"Refresh Libraries\"],\"Ml7h3C\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Program\"],\"other\":[\"#\",\" Programs\"]}]],\"Mrdyk9\":[\"Genre\"],\"Mv+xQh\":[\"New Channel\"],\"N15e5e\":[\"Remove custom icon\"],\"NGOfis\":[\"Disable Image Scaling\"],\"NGSThJ\":[\"Smart Collection\"],\"NL/bON\":[\"FFmpeg Command\"],\"NQ7yht\":[\"Must use a valid URL, or empty.\"],\"NaDxQ2\":[\"Auto Deinterlace Video\"],\"Nb+B9K\":[\"Adjust the output volume (not recommended). Values higher than 100 will boost the audio.\"],\"NcV1df\":[\"Pad Start Times\"],\"NfTP7a\":[\"Advanced options relating to audio. In general, do not change these unless you know what you are doing!\"],\"NfZ8rc\":[\"24-hour\"],\"Nkn5MW\":[\"Removes all Flex periods from the schedule.\"],\"NnH3pK\":[\"Test\"],\"NnuRri\":[\"This allows you to pick the weights for each of the shows, so you can decide that some shows should be less frequent than other shows.\"],\"NtQvjo\":[\"Period\"],\"Nu4oKW\":[\"Description\"],\"Ny7dz3\":[\"Albums\"],\"NyfQ4q\":[\"Save as Smart Collection\"],\"O1xfOi\":[\"Random...\"],\"O5izWu\":[\"This custom show is synced with an external playlist. Content is updated automatically and cannot be edited manually.\"],\"O8g6Na\":[\"Last Scanned: \",[\"0\"]],\"OPw3KG\":[\"Connect Media Source\"],\"OVmXHk\":[\"Refresh Timer (Hours)\"],\"Ob+B6e\":[\"Buffer size cannot be changed when copying input audio\"],\"OfC/JK\":[\"Custom Show - \",[\"0\"]],\"OfYtUi\":[\"Filler Content\"],\"OfhWJH\":[\"Reset\"],\"OrDu0o\":[\"Video Buffer Size\"],\"Osn70z\":[\"Debug\"],\"P/TyYO\":[\"The type of media in the provided paths\"],\"P1BU0j\":[\"Frame Rate\"],\"P29ZKI\":[\"Enter a name for your Emby Server\"],\"P2DGHD\":[\"Programming starts at \",[\"startTime\"],\" and stops at \",[\"endTime\"]],\"P3i3NN\":[\"Edit Channel Settings\"],\"P6Io39\":[\"Max Lateness\"],\"P6c7YE\":[\"Remove Programming\"],\"PCBfmf\":[\"Renders a channel icon (also known as bug or Digital On-screen Graphic) on top of the channel's stream.\"],\"PJ/u9s\":[\"Copied \",[\"0\"],\" URL to clipboard\"],\"PT6k0T\":[\"Pixel Format\"],\"PX1WM1\":[\"Successfully emptied trash.\"],\"Pazp7r\":[\"There was an error generating time slots. Check the browser console log for more information\"],\"PeBTGz\":[\"Clear Schedule\"],\"PeBylA\":[\"You must create at least one <0>filler list before assigning filler to a lot.\"],\"Pfatg8\":[[\"minutes\",\"plural\",{\"one\":[\"#\",\" minute\"],\"other\":[\"#\",\" minutes\"]}]],\"PgdRhI\":[\"Weighting\"],\"Ph+yE0\":[\"0 mins\"],\"PhKcf0\":[\"Edit Transcode Config\"],\"PiY0nu\":[\"You have no Filler Lists. Create your first Filler List <0>here.\"],\"Pol2QS\":[\"Emby\"],\"PpZkda\":[\"Features\"],\"PwpUBp\":[\"This is the name of the fake program that will appear in the TV guide when there are no programs to display in that time slot guide, e.g when a large Flex block is scheduled.\"],\"Pwqkdw\":[\"Loading…\"],\"Q8L6q9\":[\"Video Streams\"],\"QAUrt0\":[\"Refresh Page\"],\"QEb4hu\":[\"Stealth Mode\"],\"QG2xdt\":[\"Create Rerun Block\"],\"QHRTYn\":[\"Slots Editor...\"],\"QKMxhc\":[\"Tunarr runs various tasks, sometimes on a schedule, for background operations.\"],\"QUxTIQ\":[\"Filler is resolved at schedule time. The guide shows specific filler titles.\"],\"Qll2Tb\":[\"Desc\"],\"QlrQ/Z\":[\"Next Scheduled Execution\"],\"Qm1NmK\":[\"OR\"],\"Qu844y\":[\"Time Slot Editor\"],\"QvKdb0\":[\"Placeholder Program Title\"],\"Qx971g\":[\"After Every\"],\"R/7J0Z\":[\"Artists\"],\"R/N+HY\":[\"No programming added yet\"],\"R/xSFi\":[\"Editing \\\"\",[\"0\"],\"\\\"\"],\"R0yni2\":[\"Attempt Auto-Fix\"],\"R40oLk\":[\"Will force use of a software encoder despite hardware acceleration settings.\"],\"R6kHq+\":[\"Link Mode\"],\"R9Khdg\":[\"Auto\"],\"RCeEAd\":[\"Global Options\"],\"RGf6l7\":[\"Select a slot to link to\"],\"RI4u49\":[\"<0>You can edit this location in your settings.json within your Tunarr data directory<1/><2>NOTE: When manually adding the XMLTV location to a client like Plex, do not use this file directly. Instead, use the generated XMLTV from the Tunarr API endpoint: \",[\"0\"],\"\"],\"RTxUjI\":[\"Copy to Clipboard\"],\"RUYsn0\":[\"Clear All\"],\"RVl9/c\":[\"Alternate programs in blocks. You can pick the number of programs per-type in each block and if the order of shows in each block should be randomized.\"],\"RYP47R\":[[\"0\",\"plural\",{\"one\":[\"Day\"],\"other\":[\"Days\"]}]],\"RYlQY0\":[\"Repeats\"],\"RaHlqV\":[[\"totalConnections\",\"plural\",{\"one\":[\"#\",\" connection\"],\"other\":[\"#\",\" connections\"]}]],\"RavMGr\":[[\"count\",\"plural\",{\"one\":[\"second\"],\"other\":[\"seconds\"]}]],\"RbgUS/\":[\"Copy Channel ID\"],\"RtPRIb\":[\"Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.\"],\"RxzN1M\":[\"Enabled\"],\"S/CawK\":[\"Movies are grouped altogether\"],\"S5v5/h\":[\"Enabling embedded subtitle extaction will periodically scan your upcoming programming for embedded text-based subtitle streams and extract them to a local cache. This is necessary in order to enable subtitle burning for text-based subtitles which are not external streams.\"],\"S60KP9\":[\"Server Settings\"],\"S8zZJK\":[\"Welcome to Tunarr!\"],\"SBtwzo\":[\"Version Mismatch!\"],\"SCZJhh\":[\"Audio Bitrate\"],\"SFjIKS\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Selected Item\"],\"other\":[\"#\",\" Selected Items\"]}]],\"SOXW6w\":[\"All Genres\"],\"SY1gRl\":[\"Media Source\"],\"SYGPcm\":[\"You have no smart collections. Smart collections can be created on the <0>search page.\"],\"SZcfpX\":[\"Pad Style\"],\"SZzr30\":[\"The selected languages will be considered in order they are selected.\"],\"Sbs5dW\":[\"Filler\"],\"Sg3laT\":[\"Min Duration\"],\"SoRsRS\":[\"Calculates a schedule where all programs end at the same time, creating a perfectly looping schedule.\"],\"SuubHr\":[\"Deleting a Plex server will remove all programming from your channels associated with this plex server. Missing programming will be replaced with Flex time. This action cannot be undone.\"],\"SywaS+\":[\"Data Directory:\"],\"T5wfux\":[\"Makes multiple copies of the schedule and plays them in sequence\"],\"T8drou\":[\"System Health\"],\"TEM0vH\":[\"Removes all programs from custom show\"],\"TMADKS\":[\"Divides the programming in blocks of 4, 6, 8 or 12 hours then repeats each of the blocks the specified number of times.\"],\"TMju4P\":[\"Delete Media Source \\\"\",[\"0\"],\"\\\"?\"],\"TS0lwx\":[\"Encountered an error when emptying trash. Check console logs for details.\"],\"TZKpsF\":[\"No Media Sources detected.\"],\"TpqW74\":[\"Fixed\"],\"Ts6Zfm\":[\"Error updating Smart Collection. Check logs for details.\"],\"Ts8Q+i\":[\"EPG\"],\"TvY/XA\":[\"Documentation\"],\"Tz0i8g\":[\"Settings\"],\"TzyoiK\":[\"When enabling, Tunarr will generate an initial backup immediately\"],\"U0sC6H\":[\"Daily\"],\"U3+jR/\":[\"Replicate Programs\"],\"UC1lMc\":[\"Failed to save feature flags.\"],\"UE2eVC\":[\"Sorts alphabetically by program title\"],\"UHu/Uf\":[\"Show only synced libraries\"],\"UOMT7z\":[\"This option is disabled because it would calculate a schedule that is too long.\"],\"URmyfc\":[\"Details\"],\"UXC1jS\":[\"NodeJS: \",[\"0\"]],\"UYUgdb\":[\"Order\"],\"UYW9jU\":[\"Successfully ran system fixer \",[\"fixerId\"]],\"Uf/h/w\":[\"Pick specific programming to remove from the channel.\"],\"UirGxE\":[\"Errors\"],\"UnI8zh\":[\"Channel #\",[\"0\"]],\"UweSf9\":[\"Add Channel Redirect\"],\"V8B1wG\":[\"Last synced \",[\"0\"]],\"V9UVpb\":[\"Total hits: \",[\"0\"]],\"VBsY8N\":[\"Set to 0 to never delete backups\"],\"VIHbrI\":[\"Advanced options relating to transcoding. In general, do not change these unless you know what you are doing! These settings exist in order to leave some parity with the old dizqueTV transcode pipeline as well as to provide mechanisms to aid in debugging streaming issues.\"],\"VP2oPP\":[\"Slots\"],\"VVAgOP\":[\"Rescan Interval (hours)\"],\"VXdzY3\":[\"Disable Hardware Encoding\"],\"Va3xJe\":[\"Add field\"],\"VfWz27\":[\"Weight %\"],\"VlEnCC\":[\"Archive Format\"],\"VlWKwW\":[\"Lazy\"],\"Vmvp5H\":[[\"count\",\"plural\",{\"one\":[\"day\"],\"other\":[\"days\"]}]],\"VrBtVn\":[\"Backups:\"],\"Vw5EeW\":[\"Enable Backups\"],\"VyUuZb\":[\"Image URL\"],\"WAakm9\":[\"Delete Channel\"],\"WDgJiV\":[\"Scanner\"],\"WGkxNZ\":[\"Error querying Plex. Check console log and consider reporting a bug!\"],\"WKHqM+\":[\"Weight\"],\"WMQchs\":[\"Audio Buffer Size\"],\"WT1Ibn\":[\"Last run\"],\"Wb3E4g\":[\"Run now\"],\"Weq9zb\":[\"General\"],\"WhJZoS\":[\"Choose the transcode configuration to use for this channel. Configure transcode configurations on the <0>FFmpeg settings page.\"],\"WjUHH8\":[\"Movie Sort\"],\"WnW1QF\":[[\"block\"],\" Hours\"],\"WzNAIP\":[[\"0\",\"plural\",{\"one\":[\"Hour\"],\"other\":[\"Hours\"]}]],\"X0mSqw\":[\"Will force use of a software filters (e.g. scale, pad, etc.) despite hardware acceleration settings.\"],\"X9EHMa\":[\"Editing Smart Collection \\\"\",[\"0\"],\"\\\"\"],\"XDT85c\":[\"Media Sources\"],\"XIgmo9\":[\"Did not receive an accessToken or userId from Jellyfin server.\"],\"XNtsE7\":[\"Calculating Slots...\"],\"XNw99A\":[\"Software (No GPU)\"],\"XOgcN3\":[\"Filler List: \",[\"0\"]],\"XOuE6F\":[\"This could cause the following slot's programs to go unscheduled. Possible solutions include:\"],\"XSkU3F\":[\"* Restart required\"],\"XWYqJx\":[\"Duplicate Channel\"],\"XXwX66\":[\"Set the log level for the Tunarr server.<0/>Selecting <1>\\\"Use environment settings\\\" will instruct the server to use the <2>LOG_LEVEL environment variable, if set, or system default \\\"info\\\".\"],\"XePUKr\":[\"Test Transcode\"],\"XhWvkJ\":[[\"0\"],\" of \",[\"1\"],\" \",[\"2\"],\" exceed the length of this slot (\",[\"3\"],\"). Average program length: \",[\"4\"]],\"Xkppm4\":[\"Enable Watermark\"],\"Xm/WEQ\":[\"Channel Group\"],\"XsR2HX\":[\"Test Duration (seconds)\"],\"Xuml3I\":[\"By default, time slots are time of the day-based, you can change it to time of the day + day of the week. That means scheduling 7x the number of time slots. If you change from daily to weekly, the current schedule will be repeated 7 times. If you change from weekly to daily, many of the slots will be deleted.\"],\"XwU6BE\":[\"You haven't created any filler lists yet! Go to the <0>Filler Lists page to create one.\"],\"Y2ngGV\":[\"Add a Filler List\"],\"Y5XZLy\":[\"<0>Pad Slot: Align slot start times to the specified pad time.<1/><2>Pad Episode: Align episode start times (within a slot) to the specified pad time. <3>NOTE: Depending on slot length and the chosen pad time, this could potentially create a lot of flex.\"],\"Y84UgQ\":[\"Loudness Target\"],\"YAKCkm\":[\"An error occurred: \",[\"0\"]],\"YDlcs3\":[\"Shuffle Programming\"],\"YLUnu0\":[\"Test Playback\"],\"YN7vx3\":[\"Custom Show\"],\"YRQaPv\":[\"Last Synced\"],\"YRT1+e\":[\"Creates a new collection\"],\"YSptU0\":[\"Replicate...\"],\"YT5/eK\":[\"Media Source: \\\"\",[\"0\"],\"\\\"\"],\"YXwR3a\":[\"Restore default logo\"],\"YY/JN7\":[\" the following day.\"],\"YYLNVW\":[\"Insert breaks at these percentages of the program duration\"],\"YdIZFA\":[\"This channel number has already been used\"],\"Yf/Mtb\":[\"You're All Set!\"],\"Z10t2U\":[\"Removes repeated programs.\"],\"Z3FXyt\":[\"Loading...\"],\"Z4IQ8m\":[\"Channel Transcode Config\"],\"Z5IrB3\":[\"Open in \",[\"0\"]],\"Z6dMWq\":[\"Error while running system fixer \",[\"fixerId\"],\". Check server logs for details.\"],\"ZND/fh\":[\"Cannot be empty\"],\"ZNZzTe\":[\"Cannot disable libraries when they are locked\"],\"ZShzvn\":[\"\\\"\",[\"0\"],\"\\\" Live\"],\"ZWRt1W\":[\"Output Path\"],\"ZkdKVr\":[\"Redirect to Channel \",[\"0\"]],\"Zky8hA\":[\"The image will be rendered at its actual size without any scaling applied.\"],\"Zs2GWW\":[\"New Emby Media Source\"],\"Zul8Ry\":[\"never\"],\"Zvipe1\":[\"Editing Plex Server \\\"\",[\"0\"],\"\\\"\"],\"ZxwuFV\":[\"Deleting a Channel will remove all programming from the channel. This action cannot be undone.\"],\"a+Pr3s\":[\"Apply to Program Types (empty = all)\"],\"a4N/Bg\":[\"Load More\"],\"aE3UMm\":[\"<0>None: slots are picked in the order they are specified in the table (i.e. not randomly)<1/><2>Uniform: all slots have an equal chance to be picked.<3/><4>Weighted: each slot is picked with a specified probability\"],\"aOaCIk\":[\"Allow External\"],\"aScBGS\":[\"Add a filter expression to fine-tune results of the search\"],\"aSwfbR\":[\"Unit\"],\"ak3N0i\":[\"Item was not present during the last scan\"],\"aoLy25\":[\"Opacity\"],\"b0Uv6P\":[[\"0\",\"plural\",{\"one\":[\"Path\"],\"other\":[\"Paths\"]}]],\"b6sx4K\":[\"No active sessions\"],\"bDY29m\":[\"Logarithmic\"],\"bGG6B1\":[\"Jellyfin\"],\"bHNlfr\":[\"Increasing the slot duration.\"],\"bNEQeI\":[\"Cooldown\"],\"bORfbY\":[\"Cannot use a channel number <= 0\"],\"bPJiZF\":[\"Show: \",[\"0\"]],\"bSIBDb\":[\"Release Date (asc)\"],\"bm8pgG\":[\"Add group\"],\"boItSp\":[\"Delete Media Source?\"],\"buS8nL\":[\"Enable Subtitles\"],\"bxyuno\":[\"Override global audio and subtitle settings for this channel.\"],\"bydide\":[\"FFMPEG Log Method\"],\"c6fsNw\":[\"When enabled, intermittent watermarks fade in immediately when a stream is initialized. When disabled, the first watermark fade-in occurs after a full period.\"],\"cF5KzV\":[\"Edit Filler List\"],\"cFTdM+\":[\"Console\"],\"cHYx4E\":[\"Empty Trash\"],\"cLgGtf\":[\"Reset programming to most recently saved state\"],\"cN5Dty\":[\"No Programming scheduled\"],\"cOvZFM\":[\"Dynamic\"],\"cXkSYc\":[\"There was an error submitting the request to update Media Source settings. Please check the form and try again\"],\"caSM6R\":[\"This is used by iptv clients to categorize the channels. You can leave it as 'tunarr' if you don't need this sort of classification.\"],\"cgo+Ch\":[[\"remainingTime\"],\" left\"],\"cheWPw\":[\"Duplicates\"],\"cjX7aq\":[\"Are you sure you want to delete Smart Collection \\\"\",[\"0\"],\"\\\"?\"],\"cmKYIw\":[\"Overflow Behavior\"],\"cmlWKg\":[\"<0>Error deleting custom show: \",[\"0\"],\"<1/>Please consider opening a bug with details!\"],\"cnCAaO\":[\"Percentage-Based\"],\"cnGeoo\":[\"Delete\"],\"cv/ykT\":[\"Search Server URL:\"],\"cxrM1O\":[\"Connect Sources\"],\"d5zxa4\":[\"Local\"],\"d72gcv\":[\"Loudnorm Options\"],\"d9HhJj\":[\"This media source has no enabled or scanned libraries. Enable libraries for this source on the <0>Media Sources page or manually trigger scans on the <1>Library page.\"],\"d9Tsiy\":[\"Error updating channel.<0/>Check browser console for details\"],\"d9XR+x\":[\"Transcode Config <0> <1/>\"],\"dBV/FP\":[\"Lock Weights\"],\"dDX6oS\":[\"Videos from the filler list will be randomly picked to play unless there are cooldown restrictions to place or if no videos are short enough for the remaining Flex time.<0/>Each filler can be assigned a cooldown, which restricts how frequently the list will be chosen during flex time.\"],\"dEgA5A\":[\"Cancel\"],\"dH8AwH\":[\"Add Breaks\"],\"dK3Z9j\":[\"Component\"],\"dQvGiF\":[[\"0\",\"plural\",{\"one\":[\"#\",\" session\"],\"other\":[\"#\",\" sessions\"]}]],\"dScixt\":[\"Enable dark Mode\"],\"dUyQn5\":[\"On-Demand\"],\"daSf8d\":[\"Group episode programs by their show.\"],\"djpQ8z\":[\"Reload Stream\"],\"dkURuB\":[\"Tail Buffer (minutes)\"],\"dnCwNB\":[\"Successfully copied to clipboard!\"],\"eARDm/\":[[\"0\",\"plural\",{\"one\":[\"#\",\" season\"],\"other\":[\"#\",\" seasons\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" total episode\"],\"other\":[\"#\",\" total episodes\"]}]],\"eEpDfJ\":[\"Will force use of a software decoder despite hardware acceleration settings.\"],\"eNorwJ\":[\"Programs Too Long\"],\"ePK91l\":[\"Edit\"],\"eSsduj\":[\"VA-API Device\"],\"eZTFiP\":[\"Review Selections\"],\"eZe0fr\":[\"Audio Channels\"],\"ecUA8p\":[\"Today\"],\"efuwN9\":[\"These settings are stored in your browser and are saved automatically when changed.\"],\"eg6m1K\":[\"Edit Transcode Config: \\\"\",[\"0\"],\"\\\"\"],\"ep+NHZ\":[\"If you proceed, all unsaved changes will be lost. Are you sure you want to proceed?\"],\"et+mIi\":[\"Troubleshoot\"],\"euChZN\":[\"Cyclic Shuffle\"],\"euc6Ns\":[\"Duplicate\"],\"exYcTF\":[\"Library\"],\"eyRsaH\":[\"Root\"],\"f0w0IC\":[\"Leave blank to use the channel's icon.\"],\"f6Hub0\":[\"Sort\"],\"f6pgxW\":[\"Temporarily caches responses from Plex based by request path. Could potentially speed up channel editing.\"],\"f7DWm5\":[\"Need at least one path\"],\"fD+lMD\":[\"Select the port the Tunarr server will listen on. This requires a server restart to take effect.\"],\"fI+mNw\":[\"Playlists\"],\"fJfo1A\":[\"Server Path\"],\"fN4bgn\":[\"Delete Filler List \\\"\",[\"0\"],\"\\\"?\"],\"fQ9phi\":[\"Remove All\"],\"fSRZCh\":[\"Restore Default Settings\"],\"fU1065\":[\"Mid-Roll\"],\"fWj7Tt\":[\"Shuffle programming in a channel, optionally grouping programs by certain criteria.\"],\"fcqkKg\":[\"Not found!\"],\"fsBGk0\":[\"Balance\"],\"ftF4U5\":[\"Show Advanced\"],\"fxTyFe\":[\"This slot is linked with \",[\"0\"],\" other \",[\"1\",\"plural\",{\"one\":[\"slot\"],\"other\":[\"slots\"]}],\"Content fields are shared across the group.\"],\"fyo+NB\":[\"The End.\"],\"fzWV5a\":[\"Sort TV Shows (desc)\"],\"g2Pro3\":[\"Reset changes made to the channel's lineup\"],\"g6LxbB\":[\"Break Interval (minutes)\"],\"g7LzUS\":[\"Install FFMPEG\"],\"gBx20d\":[\"Custom Program\"],\"gH5Gbn\":[\"Shuffle\"],\"gJrGqR\":[\"FFmpeg version 7.1+ recommended. Check your current version in the sidebar\"],\"gL9DoB\":[\"Programs shorter than this value will be treated the same as Flex time. Meaning that the TV Guide will try to meld them with the previous program or display the block of programs as the \\\"place holder program\\\" if they make a large continuous group. Use 0 to disable this feature or use a large value to make the channel report only the placeholder program and not the real programming.\\n\",[\"0\"]],\"gR/hgc\":[\"Error Audio\"],\"gcD6jw\":[\"Hide watermark during filler\"],\"gf/bM4\":[\"Continue with New Content\"],\"gg9/ya\":[\"Remove \",[\"count\"],\" \",[\"0\"]],\"ghGSuE\":[\"Ensures programs have a nice-looking start time, it will add Flex time to fill the gaps.\"],\"glVpbE\":[\"Eager\"],\"h/qU8b\":[\"Override the default \",[\"0\"],\" device path (defaults to <0>/dev/dri/renderD128 on Linux and blank otherwise)\"],\"h4yKYk\":[\"Next run\"],\"h8WhoR\":[\"Slot Scheduler\"],\"hBGuBW\":[\"Use channel default\"],\"hBzeL7\":[\"Time before first break\"],\"hG89Ed\":[\"Image\"],\"hISVAG\":[\"Media Sources are where Tunarr sources your content. Media can come from your filesystem or a remote server, like Plex or Jellyfin. At least one Media Source is necessary to create channels and play media in Tunarr.\"],\"hQRttt\":[\"Submit\"],\"hQSabA\":[\"TO\"],\"hXfj39\":[\"Audio Sample Rate\"],\"hXzOVo\":[\"Next\"],\"hYgDIe\":[\"Create\"],\"he3ygx\":[\"Copy\"],\"hehnjM\":[\"Amount\"],\"hhukVU\":[\"Trashed items are items that were previously scanned, but not found in a recent scan. This could be due to missing files or a media server no longer returning the item from its API. These items will be unplayable in channels in their current state. When the trash is emptied, their spots in channels will be replaced with flex.\"],\"hjerov\":[\"Guide Start Time\"],\"hlIKor\":[\"None:\"],\"hnFEC+\":[\"Initial Delay + Interval\"],\"hrdWlG\":[\"Add Show\"],\"hvo+jE\":[\"Add point (%)\"],\"i1+yww\":[\"FFprobe version 6.0+ recommended. Check your current version in the sidebar\"],\"i2QuB6\":[\"Error Screen\"],\"i9rcQ/\":[\"Movies\"],\"iH8pgl\":[\"Back\"],\"iQWhqk\":[\"FFMPEG is installed. Detected version \",[\"0\"]],\"iTjV+L\":[\"A-Z (desc)\"],\"ih+n6S\":[\"Linear\"],\"ihCTE6\":[\"Error occurred while loading channels, please try again soon.\"],\"ihn4zD\":[\"Search…\"],\"ilkCYA\":[[\"0\",\"plural\",{\"one\":[\"Selected Item\"],\"other\":[\"Selected Items\"]}]],\"imrPBy\":[\"Watermark Image URL\"],\"isC0OF\":[\"Use these settings to override global ffmpeg settings for this channel.\"],\"isRobC\":[\"New\"],\"isyw73\":[\"Auto uses the time convention for the selected language.\"],\"jETaUB\":[\"Buffer size effects how frequently ffmpeg reconsiders the output bitrate. <0>Read more\"],\"jHjfnS\":[\"Add filler\"],\"jZlrte\":[\"Color\"],\"jl3Q84\":[\"Create a Channel\"],\"jz1oG0\":[\"Selected Audio\"],\"k6TRai\":[\"FFMPEG transcoding is required for some features like channel overlay, subtitles, and measures to prevent issues when switching episodes.\"],\"kAidIP\":[\"Failed to load feature flags.\"],\"kBJRjR\":[\"Download all logs\"],\"kIYDzY\":[\"Successfully updated Media Source settings.\"],\"kKgsI0\":[\"<0>Configure the directory where Tunarr writes HLS segment files when transcoding. Tunarr will create the target directory (but not intermediate directories) if it doesn't exist.<1/>Changing this field will only affect new sessions. Existing sessions will continue writing to the previous setting, but will clean out segments when the segment ends.<2/>When unset, Tunarr will write segments to its current working directory.\"],\"kKk153\":[\"Load Stream\"],\"kO0aVB\":[\"Break Duration (minutes)\"],\"kThBL9\":[\"Sample rate cannot be changed when copying input audio\"],\"kdkZBD\":[\"Increment\"],\"kii1WH\":[\"Programming Preview\"],\"kolyzq\":[\"This \",[\"0\"],\" is marked as missing in the database.\"],\"kpfZ0g\":[\"Minimum Program Duration (minutes)\"],\"kq6sAD\":[\"Add TV Shows or Movies to filler\"],\"ksFZi3\":[\"<0>Experimental: Enable Plex Request Cache\"],\"kvMAno\":[\"Web Settings\"],\"l/UFPv\":[\"Properties\"],\"l0VyMh\":[\"Flex\"],\"l15zKW\":[\"All Set!\"],\"lBADOx\":[[\"count\",\"plural\",{\"one\":[\"#\",\" episode\"],\"other\":[\"#\",\" episodes\"]}]],\"lC2oeQ\":[\"Max Duration (minutes)\"],\"lCF0wC\":[\"Refresh\"],\"lIUgjN\":[\"Error copying channel m3u link to clipboard\"],\"lJSUC1\":[\"Watermark\"],\"lKCfnI\":[\"Audio Language Preferences\"],\"lS14fB\":[\"Theme Settings\"],\"lW3FB1\":[\"Download last \",[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"#\",\" row\"],\"other\":[\"#\",\" rows\"]}]],\"lWmRHf\":[\"Time Slots...\"],\"lZMqZ5\":[\"If enabled, TV show episodes will use the poster of their show, instead of the individual episode poster.\"],\"laQT4o\":[\"Thumbnail URL\"],\"lfFsZ4\":[\"Channels\"],\"lkz6PL\":[\"Duration\"],\"llDXYJ\":[\"Backups\"],\"lnABVQ\":[\"Run Troubleshooter\"],\"m+8qnB\":[\"Library: \",[\"0\"]],\"m0Gp21\":[\"Select a program and channel to test playback. The troubleshooter will analyze stream selection, build the FFmpeg pipeline, and run a short test transcode.\"],\"m16xKo\":[\"Add\"],\"m48LOH\":[\"Hardware Acceleration\"],\"mCB6Je\":[\"Select All\"],\"mDcLzR\":[\"Caching\"],\"mF+u2B\":[\"Don't see the library you want here? Ensure it is enabled in the <0>Media Source Settings.\"],\"mGM6Aa\":[\"Custom Shows are sequences of videos that represent a episodes of a virtual TV show. When you add these shows to a channel, the schedule tools will treat the videos as if they belonged to a single TV show.\"],\"mHTMS1\":[\"Normalize Frame Rate\"],\"mQt7fl\":[[\"count\",\"plural\",{\"one\":[\"program\"],\"other\":[\"programs\"]}]],\"mRWiYM\":[\"Duration (seconds)\"],\"mWbpso\":[\"Max Backups\"],\"mYBORk\":[\"Movie\"],\"mYJG1x\":[\"Your list will be replicated \",[\"0\"],\" times\"],\"mZFYjJ\":[\"Error saving programs. \",[\"0\"]],\"mZFr14\":[\"HLS not supported in this browser!\"],\"md42bg\":[\"Transcode Config (optional override)\"],\"mgcp8D\":[\"How often to insert a break\"],\"migeCK\":[\"Filter which subtitle tracks are considered<0/><1>Any: All subtitle tracks are considered <2/><3>Forced: Only consider <4>\\\"forced\\\"subtitle tracks <5/><6>Default: Only consider default subtitle tracks <7/><8>None: Do not select any subtitles\"],\"mtQjGe\":[\"Configure subtitle preferences. Preferences are evaluated in order of priority. The first matching subtitle stream on a program will be used.\"],\"mvU6s8\":[\"Sort TV Shows\"],\"mwtge0\":[\"Started \",[\"startedAgo\"],\" - \",[\"remainingTime\"],\"remaining\"],\"n+7HJk\":[\"When file paths on the remote server differ from the paths Tunarr can see, use Path Replacements to instruct Tunarr how to stream media from disk.\"],\"n9nSNJ\":[\"Time format\"],\"nH6YaM\":[\"Other Videos\"],\"nSW2Lv\":[[\"days\",\"plural\",{\"one\":[\"#\",\" day\"],\"other\":[\"#\",\" days\"]}]],\"nV6twc\":[\"Organize\"],\"nYD/Cq\":[\"Ascending\"],\"nZXc7r\":[\"Unlink from group\"],\"nfAddt\":[\"FFmpeg Transcode Path\"],\"nfxRnc\":[\"Tunarr is currently configured to use the AC3 audio encoder. This audio format is not supported by browsers. The resultant stream will likely not have audio or will not play at all.\"],\"njIcYs\":[\"Save as new collection…\"],\"ntJ9rt\":[\"HLS Direct Output Format\"],\"nzDzPp\":[\"toggle access token visibility\"],\"o0+Ul2\":[\"Add Flex\"],\"o2Ucvk\":[\"Libraries\"],\"o6OQlp\":[\"Edit Channel\"],\"o7J4JM\":[\"Filter\"],\"o7Y4WO\":[\"Error saving new Emby server. See browser console and server logs for details\"],\"oADXRC\":[\"Calculated \",[\"humanizedDuration\"],\" (\",[\"numShows\"],\" programs) of programming in \",[\"duration\"],\"ms\"],\"oCHfGC\":[\"Level\"],\"oCpfQF\":[\"This feature is currently experimental. Proceed with caution and if you experience an issue, try disabling caching.\"],\"oEZmaP\":[[\"count\",\"plural\",{\"one\":[\"#\",\" season\"],\"other\":[\"#\",\" seasons\"]}]],\"oMA2jd\":[\"Removes any specials from the schedule. Specials are episodes with season '00'.\"],\"oPWgse\":[\"Maximum number of breaks per program (0 = unlimited)\"],\"ofUcbc\":[\"Random\"],\"oihuQr\":[\"Number of Replications\"],\"ousf2V\":[\"Random…\"],\"ovBPCi\":[\"Default\"],\"oxvBx3\":[\"If set, any programming group with fewer episodes will be looped in order to make perfectly even blocks.\"],\"p/78dY\":[\"Position\"],\"p/KgUp\":[\"The channel's regular programming between the specified hours. Flex time will fill up the remaining hours.\"],\"p04z/V\":[\"# Programs\"],\"p4XZFD\":[\"Local Path\"],\"pDwcFl\":[\"Save Smart Collection\"],\"pKYBXC\":[\"Last Scheduled Execution\"],\"paEQ75\":[\"\\\"Stealth\\\" channels are hidden from TV guides, spoofed HDHR, m3u playlist, etc. The channel can still be streamed directly or be used as a redirect target.\"],\"pcRxi1\":[\"How frequently libraries should be scanned (starting from midnight).\"],\"pdlmIS\":[\"<0>Error deleting filler list: \",[\"0\"],\"<1/>Please consider opening a bug with details!\"],\"pkERVr\":[\"Download JSON\"],\"pqarBu\":[\"Asc\"],\"pvnfJD\":[\"Dark\"],\"pwPreK\":[\"Restrict Hours\"],\"pxh+PI\":[\"Builder\"],\"q6GKgP\":[\"VAAPI Capabilities\"],\"q6nlo/\":[\"Subtitle Action\"],\"q9p3Xw\":[\"Bitrate cannot be changed when copying input audio\"],\"qAGp2O\":[\"Proceed\"],\"qG6T/X\":[\"Add Programming\"],\"qKNcv7\":[\"Generating Bug Report Link...\"],\"qV9xkb\":[\"Passthrough audio unchanged. Other settings will not apply.\"],\"qiXmlF\":[\"Add Media\"],\"qjW34v\":[\"This channel is set up to use <0>\",[\"0\"],\"Slots for programming. Any manual changes on this page will likely make this channel stop adhering to that schedule.\"],\"qlR1dD\":[\"Delete Channel \\\"\",[\"0\"],\"\\\"?\"],\"qs/mhD\":[\"Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate.\"],\"r3ptXC\":[\"Manually add an access token from your Jellyfin server\"],\"r9sc/0\":[\"Duration must be numeric\"],\"rAx5u1\":[\"End Time\"],\"rPEEWz\":[\"Successfully saved config!\"],\"rSZlvN\":[\"Programming Start\"],\"rhEkXj\":[\"Head\"],\"rl/8FN\":[\"Commit\"],\"rnbEQB\":[\"Copy M3U URL\"],\"roIf2/\":[\"On-Demand?\"],\"rtDDIV\":[\"Edit Slot\"],\"ru5qTc\":[\"Edit Media Source\"],\"rx5Ria\":[\"All lists are used\"],\"rxumR2\":[\"Match any of\"],\"s2OE0W\":[\"Enter a name for your Jellyfin Server\"],\"s4iETe\":[\"Transcode Config\"],\"s6lNC3\":[\"Fallback Mode\"],\"s8zbIS\":[\"Include Seasons\"],\"sA8Jt7\":[\"This slot replays content aired by continue slots earlier in the period.\"],\"sBJ5MF\":[\"Sources\"],\"sNnXh6\":[\"Order of programming within the slot\"],\"sUtIRs\":[\"about \"],\"sVVcvs\":[\"Experimental Features\"],\"sfbjgG\":[\"Audio Format\"],\"sxkWRg\":[\"Advanced\"],\"sxwNOp\":[\"Logs Directory:\"],\"sztQMJ\":[\"Programs a Flex time slot. Normally you'd use pad times, restrict times or add breaks to add a large quantity of Flex times at once, but this exists for more specific cases.\"],\"t/YqKh\":[\"Remove\"],\"t3hvHq\":[\"Sync Now\"],\"t5q6kk\":[\"For more details on manually retrieving a Plex token, see <0>here\"],\"t6+QCF\":[[\"count\"],\" \",[\"programLabel\"],\", \",[\"0\"]],\"t8Hzw3\":[\"Cyclic Shuffle randomly shuffles groups of programming.\"],\"tDuQbQ\":[\"Stream Mode\"],\"tEvsql\":[\"Subtitles\"],\"tH1aCG\":[\"Video Bitrate\"],\"tMxWK0\":[\"Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks. For example, you can use this to ensure that all your programs start at either XX:00 times or XX:30 times. Removes any existing Flex periods before adding the new ones. This button might be disabled if the channel is already too large.\"],\"tPGTPB\":[\"Roll the log file on a fixed schedule, regardless of file size.\"],\"tRgOE5\":[\"Balance Programming\"],\"tXkhj/\":[\"Start\"],\"tXub8j\":[\"Display Watermark on Leading Edge\"],\"tYuxvA\":[\"FFMPEG\"],\"tfDRzk\":[\"Save\"],\"tgPwON\":[\"Operator\"],\"ti6ugP\":[\"Error while saving transcode config. See console log for details.\"],\"tkDYSE\":[[\"hours\",\"plural\",{\"one\":[\"#\",\" hour\"],\"other\":[\"#\",\" hours\"]}]],\"tlMRNb\":[\"The loaded version of the Tunarr UI does not match the server. Reload the browser to get the latest. If this message persists, clear your browser cache and reload.\"],\"tlNobE\":[\"Custom Show: \",[\"0\"]],\"tlmh8e\":[\"Add all selected programs to channel\"],\"tsqRRB\":[[\"0\"],\" Poster\"],\"ty8rVI\":[\"Now Playing:\"],\"tzwArf\":[\"View in \",[\"0\"]],\"u+VWhB\":[\"Copied to clipboard!\"],\"u+zFIr\":[\"Restrict search fields\"],\"uAQUqI\":[\"Status\"],\"uHTa9V\":[\"To use Tunarr, you need to first connect a media source. This will allow you to build custom channels with your content.\"],\"uLiDe/\":[\"Enable embedded subtitle extraction\"],\"uUTf8r\":[\"Delete Custom Show \\\"\",[\"0\"],\"\\\"?\"],\"uamufO\":[\"Add TV Shows or Movies to programming list.\"],\"ueG1bp\":[\"Program Count\"],\"ueLbrY\":[\"If true, adjusting the weight of one slot will scale the weights of other slots such that all weights total 100%. Otherwise, weights can be adjusted freely and the weight of each slot is only relative to the total weight.\"],\"uixVel\":[\"By default, saves backups in the server's run directory, or, if running in Docker, to /config/tunarr/backups\"],\"uyR9ei\":[\"Block Shuffle\"],\"v4nbQ4\":[\"If no more programs can fit into a duration-based slot, flex time is added to fill the gap. This setting determines how flex is added <0>within the slot to ensure all time is filled.<1/><2>Between: Flex time is added between videos within a slot, if there are multiple<3/><4>End: Flex time is added at the end of the slot\"],\"v5IstB\":[\"after every program\"],\"v5URfV\":[\"Like Random Shuffle, but tries to preserve the sequence of episodes for each TV show. If a TV show has multiple instances of its episodes, they are also cycled appropriately.\"],\"vAK/B1\":[\"Audio Action\"],\"vCBet9\":[\"Not a valid number\"],\"vERlcd\":[\"Profile\"],\"vGRvxs\":[\"Channel group is required\"],\"vLf7qg\":[\"Interval (minutes)\"],\"vSJd18\":[\"Video\"],\"vU/Hht\":[\"Distribution\"],\"vXIe7J\":[\"Language\"],\"vcvFVw\":[\"Escape Hatches\"],\"vkA4W/\":[\"Source Type\"],\"vn3SVH\":[\"Could not parse this filter expression. Check the <0>documentation for information about filter expressions.\"],\"vreTxe\":[[\"count\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"vwFKu0\":[\"Cast & Crew\"],\"vyL1gO\":[\"Release Date (desc)\"],\"w/bY7R\":[\"Logs\"],\"w2pCRr\":[\"Show:\"],\"w3KBq0\":[\"Allows programs to play a bit late if the previous program took longer than usual. If a program is too late, Flex is scheduled instead.\"],\"w3g+lo\":[\"Let's get started...\"],\"wBmIEf\":[\"Number of hours to include in the XMLTV file\"],\"wBo/7A\":[\"Error while scheduling \",[\"taskId\"],\". Check server logs for details\"],\"wKClDM\":[\"Adds a channel redirect. During this period of time, the channel will redirect to another channel.\"],\"wMHvYH\":[\"Value\"],\"wOUKOZ\":[\"Max True Peak\"],\"wZOYCY\":[\"Video Format\"],\"wdfBIP\":[\"Sort By...\"],\"wdxz7K\":[\"Source\"],\"wkQ2tb\":[\"Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks.\"],\"wlYdUk\":[[\"count\",\"plural\",{\"one\":[\"hour\"],\"other\":[\"hours\"]}]],\"wpT1VN\":[\"Condition\"],\"wtuVU4\":[\"Frequency\"],\"wwu18a\":[\"Icon\"],\"x+AjXa\":[\"Channel Fallback\"],\"x/dwZe\":[\"Enable if the watermark is an animated GIF or PNG. The watermark will loop according to the image's configuration. If this option is enabled and the image is not animated, there will be playback errors.\"],\"x1tGMH\":[\"Override how programs within this slot are padded.\"],\"x6/Zc6\":[\"Tail\"],\"x63PSs\":[\"Search for shows\"],\"x7PDL5\":[\"Logging\"],\"xCJdfg\":[\"Clear\"],\"xDAtGP\":[\"Message\"],\"xDPFrK\":[\"Scan \",[\"0\"]],\"xGVfLh\":[\"Continue\"],\"xGYZfl\":[\"Edit Libraries\"],\"xIn7qU\":[\"Disable Hardware Decoding\"],\"xJIepX\":[\"Default Config\"],\"xOkMus\":[\"Hardware Accel.\"],\"xPmesF\":[\"Loudness Range Target\"],\"xQC5se\":[\"Advanced Video Options\"],\"xXrtPO\":[\"Failed to load item details! Check logs for details\"],\"xazqmy\":[\"Seasons\"],\"xbtgIC\":[\"HW Acceleration\"],\"xdA/+p\":[\"Tools\"],\"xmBknQ\":[\"Filler Lists\"],\"xptXTM\":[\"Select Artists to Remove\"],\"xqIrnW\":[\"Library Clip (not yet implemented)\"],\"xu3Kah\":[[\"0\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"y28hnO\":[\"Post\"],\"y4Jmre\":[\"Break Duration\"],\"y4iKY3\":[[\"count\",\"plural\",{\"one\":[\"#\",\" album\"],\"other\":[\"#\",\" albums\"]}]],\"y5x0aB\":[[\"0\"],\" Info\"],\"y7wpam\":[[\"value\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"yDUcwc\":[\"Manually add an access token from your Emby server\"],\"yPE51X\":[\"Configure transcoding settings for Tunarr's streams. Each channel is assigned one transcode configuration.\"],\"yPK7+5\":[\"Auto-Update Guide\"],\"yQE2r9\":[\"Loading\"],\"yRkqG9\":[\"Limit\"],\"yX8Rkw\":[\"Add All\"],\"yftDqj\":[\"New Filler List\"],\"yjzkvk\":[\"Stop Transcode Session\"],\"ysJk7v\":[\"Movie Sort Order\"],\"ysecYP\":[\"Search for a program\"],\"ytXxnP\":[\"Forced\"],\"yz/C2/\":[\"Rerun\"],\"yz7wBu\":[\"Close\"],\"z4K9d+\":[\"Roll based on size\"],\"z61uNR\":[\"Add Flex Time\"],\"zV6tsp\":[\"Consolidate\"],\"zV9awV\":[\"Force Scan\"],\"zpylsE\":[\"Transcoding Settings\"],\"zrmjn/\":[\"Max Duration\"],\"zthKEs\":[\"The streaming mode affects the type of underlying transcoding process used to create the channel's video stream.<0/>Learn more about Tunarr's stream modes <1>here!\"],\"zvjEp6\":[\"Filler cooldown must be a number\"],\"zx4BuL\":[\"Week\"],\"zyLvkd\":[\"Category Log Levels\"]}")as Messages; \ No newline at end of file + import type { Messages } from '@lingui/core'; +export const messages = JSON.parse( + '{"++nzCr":["Bit Depth"],"+2JHIs":["Link to existing slot"],"+406Vu":["View Full Details"],"+4YwQF":["# of Programs"],"+4mjS6":["Remove icon"],"+9EErD":["Music Videos"],"+DmLct":["Programs"],"+SA5Ao":["A root path to scan for media. Local sources can search many different paths."],"+TZiPJ":["Server is unreachable"],"+UPOiB":[["count","plural",{"one":["min"],"other":["mins"]}]],"+Xg5cX":["Filler is picked fresh at stream time like Flex time. The guide shows \\"Commercial Break\\" placeholders."],"+YdE7b":["Enable rolling log files using time and/or size based criteria"],"+hl/7A":["Channels configured to use the HLS Direct stream mode will output in the selected container format."],"+k9lxR":["Enter a name for your Local Media Source"],"+mdNfU":[["count","plural",{"one":["#"," track"],"other":["#"," tracks"]}]],"+suWTj":["Adds Flex breaks between programs, attempting to avoid groups of consecutive programs that exceed the specified number of minutes."],"+tlhMz":["Plex (Manual)"],"+yEE7s":["New Media Source"],"+yOcRn":["HDHR"],"+ya1pX":["Delete Slot"],"+zY9Xc":["Configure Cyclic Shuffle"],"+zy2Nq":["Type"],"/+ZaFm":["Soundtrack"],"/4gGIX":["Copy to clipboard"],"/6iIT9":["Settings Saved!"],"/DTWjr":["Congrats, you\'re ready to start building channels! Just click Finish below to start working on your first channel."],"/QmYEW":["Balance..."],"/TEOcd":["Presets"],"/e88IO":["Schedule programming in blocks that are either count or duration based. Can be used to generate random schedules."],"/gavzH":["Basic button group"],"/j3jjC":["Error while saving settings. Please check console for details."],"/n/HCO":["Keywords"],"/rTz0M":["Audio"],"/vJase":["Streaming"],"09gg05":["Programming"],"0IAEaX":["Match"],"0MWZh1":["Search is currently scoped to this Media Source Library."],"0VHz2s":["Filler Options"],"0cULRy":["Experimental: Make perfect schedule loop"],"0dy9K6":["Read Less"],"0mEBXY":["Delete Transcoding Config \\"",["0"],"\\"?"],"0wJVK+":["Basic"],"0zpgxV":["Options"],"1/dAym":["Grouping works as follows:"],"14PdY0":["Config"],"1AdBl9":["Break Positioning"],"1BDPP1":["Looks like something went wrong."],"1BGQfg":["Alphabetically"],"1CFAQ+":["Set by environment variable"],"1DxLRi":["No programming scheduled for this time period"],"1PQRWr":["Start Time"],"1QfxQT":["Dismiss"],"1TYXl0":["Enter your Emby password to generate a new access token."],"1V3Prt":["Deleting a Filler will remove all programming from the channel. This action cannot be undone."],"1Z90J4":["Days to Precalculate"],"1hKEom":["Priority"],"1jqDmP":["Successfully scheduled ",["taskId"]," (running in background)."],"1njn7W":["Light"],"2BBAbc":["List"],"2BRPyl":["System Info"],"2CVuYr":["Smart Collection - ",["0"]],"2L7cj6":["You haven\'t created any channels yet."],"2QLniG":["Existing query: ",["filterString"]],"2eFlmt":["Tracks"],"2hOCU2":["Smart Collections"],"2imNg3":["Web version = ",["0"],", Server version = ",["1"]],"2mAJXf":["Makes multiple copies of the schedule and plays them in sequence. Normally this isn\'t necessary, because Tunarr will always play the schedule back from the beginning when it finishes. But creating replicas is a useful intermediary step sometimes before applying other transformations. Note that because very large channels can be problematic, the number of replicas will be limited to avoid creating really large channels."],"2oWehJ":["Reset to current date/time"],"2vxecF":["Show Stealth"],"2x4THe":["\\"",["0"],"\\" Sessions"],"312fSE":["Select Shows to Remove"],"315BhT":["Alphabetical"],"3JIYke":["Healthy?"],"3JQkm5":["Path Replacements"],"3JjdaA":["Run"],"3LfNqe":["Channel Number"],"3SH6Vv":["Copied channel \\"",["channelName"],"\\" m3u link to clipboard"],"3YNjnA":["System Environment"],"3b1vGb":["New Local Media Source"],"3mAQJI":["How often the XMLTV file is regenerated"],"3nLdaX":["Add ",["0"]],"3nwcC5":["Filler - ",["0"]],"49dCCB":["Use Show Poster"],"4Fpcxu":["Initial Delay (minutes)"],"4NbDEd":["Deleting a Custom Show will remove its programming from channels that use it. This action cannot be undone."],"4Uc/2h":["Server Listen Port"],"4VxpoP":["Music tracks are grouped by artist"],"4XSc4l":["Weekly"],"4XfYeY":["Random (by show)"],"4fLgiT":["Allow Image Based"],"4qmJK4":["Tunarr Backend URL"],"4wkwyL":["Disable Hardware Filters"],"4yQF++":["Custom show programs are grouped by their parent show"],"50whWJ":["XMLTV Link:"],"53/4tH":["Audio Options"],"536Xwe":["Error copying to clipboard!"],"53tfay":["This allows to schedule specific shows to run at specific time slots of the day or a week. It\'s recommended you first populate the channel with the episodes from the shows you want to play and/or other content like movies and redirects."],"5ABghp":["FFmpeg Settings"],"5V93hk":["Schedule programming using slots assigned a start time and duration."],"5WeWGz":["Selected Subtitle"],"5jWg+L":["Tunarr will attempt to get Plex to pull Tunarr\'s updated XMLTV upon regeneration"],"5k0NLb":["Review"],"5lSgNP":["Enable SSDP server"],"5nsbxB":["Alternates TV shows in blocks of episodes. You can pick the number of episodes per show in each block and if the order of shows in each block should be randomized. Movies are moved to the bottom."],"5qV3NN":["Flex Style"],"5yIPLp":["Oops!"],"6/dCYd":["Overview"],"63/DSM":["Transcoding Configs"],"63driG":["Stream JSON"],"67RoFa":["Pipeline"],"6Y9c2m":["This slot is linked with ",["0"]," other slot(s). Content fields are shared across the group."],"6YtxFj":["Name"],"6ZMWKw":["XMLTV"],"6bbWRs":["Add programming to custom show"],"6dvIbw":["Unlink"],"6jAi8c":["Range"],"6jfS51":["Welcome"],"6ki7F2":[["0","plural",{"one":["#"," item"],"other":["#"," items"]}]],"6mJ9tF":["FFMPEG is not detected."],"6mpwdR":["Match all of"],"6pL6be":["Configure what appears on your channel when there is no suitable filler content available. Using channel fallbacks requires ffmpeg transcoding."],"6w0yiE":["FFMPEG Log Level"],"6zfUar":["Stream Selection"],"71O7b0":["Media Info"],"73XwX0":["No programs selected"],"73flfT":["QSV Device"],"7B3lfh":["Items from any filler list will not be chosen more frequently than this cooldown setting."],"7LWPgS":["Enabled (loudnorm)"],"7ODkf5":["Log level to pass to ffmpeg. Read more about ffmpeg\'s log levels <0>here"],"7Q5AKf":[["count","plural",{"one":["track"],"other":["tracks"]}]],"7b2stB":["Media Type"],"7eMo+U":["Go Home"],"7eZlTH":["Sort TV Shows (asc)"],"7iJlKU":["Please choose a value greater than 1"],"7pMNGK":["Programs saved!"],"7sNhEz":["Username"],"7tvV2B":["Min Duration (minutes)"],"7uohY3":["TV shows are grouped by show"],"80t7Ii":["Increasing \\"Max Lateness\\" for the schedule."],"87a/t/":["Label"],"8E9KXK":["Feature flags saved!"],"8MIU1T":["Program"],"8TMaZI":["Timestamp"],"8ZsakT":["Password"],"8vETh9":["Show"],"8wngZM":["Fallback"],"8wu9lr":["Queued"],"9+90+V":["Enable Log File Rolling"],"94qSvE":["Synced with external playlist"],"96zw7M":["This show is marked as missing in the database."],"983IRa":["All linked slots show the same episode, advancing only after all have played."],"9E+eyD":["Output video at a constant frame rate."],"9E9tRC":["Fill with Flex"],"9Eq43e":["If set, all watermark overlays will be disabled for channels assigned this transcode config."],"9GPYnX":["Do not group programs at all. Normal shuffle."],"9WG5wy":["Specials"],"9asVsi":["How long each commercial break lasts"],"9qdNKR":["Error Options"],"9sqrEU":["Filler List"],"9td1Wl":["Check"],"9vtG84":[" Scheduling Strategy"],"A+GCyx":["Hide Advanced"],"A0+T6c":["Reset Changes"],"A1taO8":["Search"],"A7WmPm":["New Plex Server"],"A9Rhec":["Channel Name"],"ACKu03":["Refresh Preview"],"AKjNTL":["Add Padding"],"AM972O":["Add Redirect"],"ANICN0":["No media sources connected."],"AO2Z5d":["Movie, ",["0"]],"AOHgZp":["Episodes"],"AVKoQM":["Redirect to \\"",["0"],"\\""],"AXg7m0":["Search is currently scoped to this Media Source."],"AXjA78":["Field"],"AdfhAd":["If there are issues playing a video, Tunarr will try to use an error screen as a placeholder while retrying loading the video every 60 seconds."],"AdogaJ":["Pipeline Steps"],"AlfqgK":["Watch"],"ApsQAb":["HDHR: Loading..."],"AyInY5":["Video Options"],"AzCYkg":["Connect Media Sources"],"B+HsXP":["FFMPEG: ",["0"]],"B1NOvD":["Removes all programs from schedule"],"B1W8vw":["Delete \\"",["0"],"\\""],"BGHH1t":["Min. Visible in Guide Duration Program (seconds)"],"BJjJuo":["EPG (Hours)"],"BMlGCC":["Click to preview the items in this Custom Show. Note that only the whole show can be added at once."],"BQsifH":["Stream Info"],"BWTzAb":["Manual"],"BXXjCD":["FFmpeg not found. For all features to work, we recommend installing FFmpeg 7.1+ or update your FFmpeg executable path in settings."],"BaUuhR":["Codec"],"BlmmxH":["FFmpeg Log"],"Bq0ryo":["Reset Options"],"BtL93c":[["0","plural",{"one":["#"," source connected."],"other":["#"," sources connected."]}]],"C4KL42":["Consolidates contiguous match flex and redirect blocks into singular spans"],"C6jEO3":["Log Level"],"CAiikc":["Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token."],"CJkEfx":["Block"],"CKQ3t3":["Total Runtime"],"CMQ09J":["Scanning"],"COv7As":["Cooldown (seconds)"],"CRsuq4":["Every"],"CVqySE":[["len","plural",{"one":["There is ","#"," warning. Click for details."],"other":["There are ","#"," warnings. Click for details."]}]],"CWRFGq":["Modify Programming"],"CXDHcv":["Grid"],"CcX8VV":["Completely randomizes the order of programs."],"CeyB7O":["FFmpeg Executable Path"],"CfOWar":["Logarithmic decay, lighter weighting."],"CfUvtM":["Error saving new Smart Collection. Check server logs and browser console for details."],"CfxLtO":["Program JSON"],"Cko536":["Descending"],"Cp5Awv":["Duration must be greater than 0."],"CqSP2T":["Edit Channel Redirect"],"CsrDsg":["12-hour"],"Cxqf0C":["Plex (Auto)"],"D+NlUC":["System"],"D1Fhv3":[["count","plural",{"one":["episode"],"other":["episodes"]}]],"DPfwMq":["Done"],"DRya1t":["Audio Volume"],"DSwJ9W":["Enable Animation"],"DUd3Ss":["Sorts the list by TV Show and the episodes in each TV show by their season/episode number. Movies are moved to the bottom of the schedule."],"DbouLP":["Back to Programming"],"Dd9orS":["Remove All ",["movieCount"]," ",["movieCount","plural",{"one":["Movie"],"other":["Movies"]}]],"Dnn2XG":["Automatic"],"DoJzLz":["Collections"],"DxvGLB":["Add Slot"],"E/QGRL":["Disabled"],"E5ipHC":["Balance By:"],"E8oclZ":["Copied Channel ID!"],"EKlukx":["Copy Full Report"],"EL4/HD":[["0","plural",{"one":["program"],"other":["programs"]}]],"EdQY6l":["None"],"EkH9pt":["Update"],"Etie0Q":["All channels assigned to this config will be set to use the default configuration. If this is the last configuration, a new default configuration will be created."],"Eu20Os":["Time Slots"],"Ev2r9A":["No results"],"F1l877":["Subtitle Streams"],"F3bW6y":["Platform"],"F3smBd":["Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.<0/><1>Note: Previewing the schedule in the browser for long lengths of time can cause UI performance issues"],"FDEfoy":["Deleting a media source will remove all of its associated programs from Tunarr."],"FXCwT9":["FFprobe Executable Path"],"FZg3wM":["Operation"],"FmN5me":["Resolution"],"FnChN1":["Enable <0>EBU R 128 loudness normalization via the <1>loudnorm FFmpeg filter. May increase CPU usage during streaming."],"Fp7p73":["Time between subsequent breaks"],"FqCHF/":["Threads"],"FrRP21":["There was an error when submitting the form. Please see console logs for details."],"FsF4bb":["Audio Loudness Normalization"],"FssFce":["Configure preferred audio languages globally."],"Fzn/BQ":["Release Date"],"G+8qH5":["Channel name is required"],"GDKKxT":["Access Token"],"GHOK4Z":["Time Format"],"GJ1P5j":["File a Bug Report"],"GKLqtE":["Set the host of your Tunarr backend. When empty, the web UI will use the current host/port to communicate with the backend."],"GLOZdc":["Custom Shows"],"GP/CFo":["HW Accel"],"GQ3O42":["Trash"],"GRCrpV":["Manage Libraries"],"GUtCZC":["Version: ",["0"]],"GhZ4GX":["Error while copying to clipboard. Check browser logs for details"],"GmP0oY":["Slot Warnings"],"GmTnBN":["Enable ffmpeg logging to different sinks. Outputting to a file will create a new log file for every spawned ffmpeg process in the Tunarr log directory. These files are automatically cleaned up by a background process."],"Gr1Ik2":["Nvidia Capabilities"],"GtycJ/":["Tasks"],"GzzMwi":["Roll on Schedule"],"H0QGc9":["Filler List Cooldown (seconds)"],"H1OFlu":["Inverse linear decay, heavier weighting."],"H1V+2G":["To use Tunarr, you must first connect at least one media source. Media sources provide all content used to create channels in Tunarr. Plex and Jellyfin are currently supported."],"H3OF1s":["Tuner Count"],"H7OUPr":["Day"],"H8100o":["Filler lists are collections of videos that you may want to play during \'flex\' time segments. Flex is time within a channel that does not have a program scheduled (usually used for padding)."],"HDoQBx":["Channel settings saved!"],"HEH0PR":["Must define at least one language preference"],"HErtdg":["Name can only contain alphanumeric characters, dashes, and underscores"],"HLlLPP":["Channel Stream Mode"],"HMWEIt":["Edit Flex Time"],"HOLbdk":["Failed to load stream details! Check logs for details"],"HSfauP":["This slot is linked with ",["0"]," other ",["1","plural",{"one":["slot"],"other":["slots"]}],". Content fields are shared across the group."],"HVpg3x":["Failed to load Smart Collection"],"HXx+vU":["Controls what happens when this slot runs out of replayed content from earlier continue slots."],"HYCPKT":["Add Selected Media"],"HajiZl":["Month"],"HdE1If":["Channel"],"Hjfx9G":["Audio & Subtitles"],"HmHwcC":["Fixed Interval"],"HptUxX":["Number"],"HqUilK":["Keywords perform full text search across all (or configured) fields"],"HzV8B2":["Skip mid-roll for programs shorter than this"],"I+FvbD":["Scan"],"I2Bar3":["Shows"],"I5BU70":["Smart Collection: ",["0"]],"I6gXOa":["Path"],"IDlmXg":["Tunarr Backend URL:"],"IE9OdF":["Update Play Status"],"IFiQdD":["Channels M3U Link:"],"IMxI++":["Not a valid URL"],"INCbO6":["On-Demand channels resume from where you left off. Programming is paused when the channel is not streaming.<0/><1>NOTE: While the channel is inactive, the TV Guide for the channel will be empty."],"IagCbF":["URL"],"IetKlB":["New Custom Show"],"IgC1fP":["Enable light Mode"],"IiBgkW":["Failed to update Media Source settings. Please check server and browser logs for details."],"IoSxk9":["Protocol must be HTTP or HTTPS"],"IvkbIT":["Read More"],"J/eF78":["Removing overrun programs from the channel."],"J0NKO1":["Exclude Seasons"],"J2eKUI":["File"],"J2lnQW":["Pre"],"J41wt0":["Slot Editor"],"J4Ngmi":["Loop Short Programs"],"J50/e4":["Filter Type"],"J8X80J":["Stealth?"],"JCGCcQ":["Sorts everything by its release date. This will only work correctly if the release dates in Plex are correct. In case any item does not have a release date specified, it will be moved to the bottom."],"JCOZTc":["Audio & Subtitle Options"],"JOFDLs":["Program Playback Troubleshooter"],"JeAvlS":["Pad Times"],"JeL1O4":["Redirect duration"],"Jj3SJk":["A-Z (asc)"],"JmZ/+d":["Finish"],"Jpe9a8":["Attempts to balance programming groups by either total lineup duration or number of unique programs. For instance, for a channel with many seasons of one show and few seasons of another, balancing will attempt to create an even mix of both shows by inserting repeats of the show with fewer episodes."],"JryIGL":["Adjust Weights"],"Jsel0T":["This channel has an existing time slot schedule. A channel can only use one scheduling type at a time. Saving a schedule here will remove the existing time slot schedule."],"Jtbzxr":["Version: unknown"],"JxE+Bh":["Allows you to pick specific programming to remove from the channel."],"JyHA6G":["Displays the last ",["0"]," system log events. Use the buttons below to export these logs or download the entire log file for debugging."],"JzJk+4":["Add Language Preference"],"K09nyY":["Linked slots advance episode progression together sequentially."],"K8+dbZ":[["totalConnections"]," total"],"K8ebg0":["Tunarr will update Jellyfin\'s \\"now playing\\" state while channels are active."],"K9pQ8Q":["Disable Watermarks"],"KRjDf4":["Audio Streams"],"Khe/Vb":["Watch Channel"],"KkOthv":["Guide"],"Km5fSd":["If you are confident FFMPEG is installed, you may just need to update the executable path in the settings. To do so, simply click Edit above to update the path."],"L+8pV5":["Sync with external playlist"],"L/KmPM":["Usually slots need to add flex time to ensure that the next slot starts at the correct time. When there are multiple videos in the slot, you might prefer to distribute the flex time between the videos or to place most of the flex time at the end of the slot."],"L6Mhe6":["You have unsaved changes!"],"L8Hb+D":["Sets the number of threads used to decode the input stream. Set to 0 to let ffmpeg automatically decide how many threads to use. Read more about this option <0>here. <1>Note: this option is overridden to 1 when using hardware accelearation for stability reasons."],"LKPR6G":["Playlist"],"LKSv28":["Smart Collections are self-updating content lists. You set the query and the collection automatically adds any new content from your library that fits those rules. Any newly added content matching query will not modify existing channel programming at this time."],"LMMGPr":["Submitting..."],"LRvqnF":["Error saving new Jellyfin server. See browser console and server logs for details"],"LTC198":["Running..."],"LTYRAI":["View Library"],"LiCr5o":["Limit must be numeric"],"MHrjPM":["Title"],"MKK96e":["View Collection"],"MR6Nlf":["Change the verbosity of specific categories of logs. Useful if debugging a specific feature."],"MS1Dhi":["Max file size (bytes)"],"MVBLYK":["Remove..."],"MW42Hp":["Customize how movie blocks are sorted"],"Md/eZS":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"MfkGXC":["Shuffle Grouping"],"MkMcGz":["Refresh Libraries"],"Ml7h3C":[["0","plural",{"one":["#"," Program"],"other":["#"," Programs"]}]],"Mrdyk9":["Genre"],"Mv+xQh":["New Channel"],"N15e5e":["Remove custom icon"],"NGOfis":["Disable Image Scaling"],"NGSThJ":["Smart Collection"],"NL/bON":["FFmpeg Command"],"NQ7yht":["Must use a valid URL, or empty."],"NaDxQ2":["Auto Deinterlace Video"],"Nb+B9K":["Adjust the output volume (not recommended). Values higher than 100 will boost the audio."],"NcV1df":["Pad Start Times"],"NfTP7a":["Advanced options relating to audio. In general, do not change these unless you know what you are doing!"],"NfZ8rc":["24-hour"],"Nkn5MW":["Removes all Flex periods from the schedule."],"NnH3pK":["Test"],"NnuRri":["This allows you to pick the weights for each of the shows, so you can decide that some shows should be less frequent than other shows."],"NtQvjo":["Period"],"Nu4oKW":["Description"],"Ny7dz3":["Albums"],"NyfQ4q":["Save as Smart Collection"],"O1xfOi":["Random..."],"O5izWu":["This custom show is synced with an external playlist. Content is updated automatically and cannot be edited manually."],"O8g6Na":["Last Scanned: ",["0"]],"OPw3KG":["Connect Media Source"],"OVmXHk":["Refresh Timer (Hours)"],"Ob+B6e":["Buffer size cannot be changed when copying input audio"],"OfC/JK":["Custom Show - ",["0"]],"OfYtUi":["Filler Content"],"OfhWJH":["Reset"],"OrDu0o":["Video Buffer Size"],"Osn70z":["Debug"],"P/TyYO":["The type of media in the provided paths"],"P1BU0j":["Frame Rate"],"P29ZKI":["Enter a name for your Emby Server"],"P2DGHD":["Programming starts at ",["startTime"]," and stops at ",["endTime"]],"P3i3NN":["Edit Channel Settings"],"P6Io39":["Max Lateness"],"P6c7YE":["Remove Programming"],"PCBfmf":["Renders a channel icon (also known as bug or Digital On-screen Graphic) on top of the channel\'s stream."],"PJ/u9s":["Copied ",["0"]," URL to clipboard"],"PT6k0T":["Pixel Format"],"PX1WM1":["Successfully emptied trash."],"Pazp7r":["There was an error generating time slots. Check the browser console log for more information"],"PeBTGz":["Clear Schedule"],"PeBylA":["You must create at least one <0>filler list before assigning filler to a lot."],"Pfatg8":[["minutes","plural",{"one":["#"," minute"],"other":["#"," minutes"]}]],"PgdRhI":["Weighting"],"Ph+yE0":["0 mins"],"PhKcf0":["Edit Transcode Config"],"PiY0nu":["You have no Filler Lists. Create your first Filler List <0>here."],"Pol2QS":["Emby"],"PpZkda":["Features"],"PwpUBp":["This is the name of the fake program that will appear in the TV guide when there are no programs to display in that time slot guide, e.g when a large Flex block is scheduled."],"Pwqkdw":["Loading…"],"Q8L6q9":["Video Streams"],"QAUrt0":["Refresh Page"],"QEb4hu":["Stealth Mode"],"QG2xdt":["Create Rerun Block"],"QHRTYn":["Slots Editor..."],"QKMxhc":["Tunarr runs various tasks, sometimes on a schedule, for background operations."],"QUxTIQ":["Filler is resolved at schedule time. The guide shows specific filler titles."],"Qll2Tb":["Desc"],"QlrQ/Z":["Next Scheduled Execution"],"Qm1NmK":["OR"],"Qu844y":["Time Slot Editor"],"QvKdb0":["Placeholder Program Title"],"Qx971g":["After Every"],"R/7J0Z":["Artists"],"R/N+HY":["No programming added yet"],"R/xSFi":["Editing \\"",["0"],"\\""],"R0yni2":["Attempt Auto-Fix"],"R40oLk":["Will force use of a software encoder despite hardware acceleration settings."],"R6kHq+":["Link Mode"],"R9Khdg":["Auto"],"RCeEAd":["Global Options"],"RGf6l7":["Select a slot to link to"],"RI4u49":["<0>You can edit this location in your settings.json within your Tunarr data directory<1/><2>NOTE: When manually adding the XMLTV location to a client like Plex, do not use this file directly. Instead, use the generated XMLTV from the Tunarr API endpoint: ",["0"],""],"RTxUjI":["Copy to Clipboard"],"RUYsn0":["Clear All"],"RVl9/c":["Alternate programs in blocks. You can pick the number of programs per-type in each block and if the order of shows in each block should be randomized."],"RYP47R":[["0","plural",{"one":["Day"],"other":["Days"]}]],"RYlQY0":["Repeats"],"RaHlqV":[["totalConnections","plural",{"one":["#"," connection"],"other":["#"," connections"]}]],"RavMGr":[["count","plural",{"one":["second"],"other":["seconds"]}]],"RbgUS/":["Copy Channel ID"],"RtPRIb":["Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel."],"RxzN1M":["Enabled"],"S/CawK":["Movies are grouped altogether"],"S5v5/h":["Enabling embedded subtitle extaction will periodically scan your upcoming programming for embedded text-based subtitle streams and extract them to a local cache. This is necessary in order to enable subtitle burning for text-based subtitles which are not external streams."],"S60KP9":["Server Settings"],"S8zZJK":["Welcome to Tunarr!"],"SBtwzo":["Version Mismatch!"],"SCZJhh":["Audio Bitrate"],"SFjIKS":[["0","plural",{"one":["#"," Selected Item"],"other":["#"," Selected Items"]}]],"SOXW6w":["All Genres"],"SY1gRl":["Media Source"],"SYGPcm":["You have no smart collections. Smart collections can be created on the <0>search page."],"SZcfpX":["Pad Style"],"SZzr30":["The selected languages will be considered in order they are selected."],"Sbs5dW":["Filler"],"Sg3laT":["Min Duration"],"SoRsRS":["Calculates a schedule where all programs end at the same time, creating a perfectly looping schedule."],"SuubHr":["Deleting a Plex server will remove all programming from your channels associated with this plex server. Missing programming will be replaced with Flex time. This action cannot be undone."],"SywaS+":["Data Directory:"],"T5wfux":["Makes multiple copies of the schedule and plays them in sequence"],"T8drou":["System Health"],"TEM0vH":["Removes all programs from custom show"],"TMADKS":["Divides the programming in blocks of 4, 6, 8 or 12 hours then repeats each of the blocks the specified number of times."],"TMju4P":["Delete Media Source \\"",["0"],"\\"?"],"TS0lwx":["Encountered an error when emptying trash. Check console logs for details."],"TZKpsF":["No Media Sources detected."],"TpqW74":["Fixed"],"Ts6Zfm":["Error updating Smart Collection. Check logs for details."],"Ts8Q+i":["EPG"],"TvY/XA":["Documentation"],"Tz0i8g":["Settings"],"TzyoiK":["When enabling, Tunarr will generate an initial backup immediately"],"U0sC6H":["Daily"],"U3+jR/":["Replicate Programs"],"UC1lMc":["Failed to save feature flags."],"UE2eVC":["Sorts alphabetically by program title"],"UHu/Uf":["Show only synced libraries"],"UOMT7z":["This option is disabled because it would calculate a schedule that is too long."],"URmyfc":["Details"],"UXC1jS":["NodeJS: ",["0"]],"UYUgdb":["Order"],"UYW9jU":["Successfully ran system fixer ",["fixerId"]],"Uf/h/w":["Pick specific programming to remove from the channel."],"UirGxE":["Errors"],"UnI8zh":["Channel #",["0"]],"UweSf9":["Add Channel Redirect"],"V8B1wG":["Last synced ",["0"]],"V9UVpb":["Total hits: ",["0"]],"VBsY8N":["Set to 0 to never delete backups"],"VIHbrI":["Advanced options relating to transcoding. In general, do not change these unless you know what you are doing! These settings exist in order to leave some parity with the old dizqueTV transcode pipeline as well as to provide mechanisms to aid in debugging streaming issues."],"VP2oPP":["Slots"],"VVAgOP":["Rescan Interval (hours)"],"VXdzY3":["Disable Hardware Encoding"],"Va3xJe":["Add field"],"VfWz27":["Weight %"],"VlEnCC":["Archive Format"],"VlWKwW":["Lazy"],"Vmvp5H":[["count","plural",{"one":["day"],"other":["days"]}]],"VrBtVn":["Backups:"],"Vw5EeW":["Enable Backups"],"VyUuZb":["Image URL"],"WAakm9":["Delete Channel"],"WDgJiV":["Scanner"],"WGkxNZ":["Error querying Plex. Check console log and consider reporting a bug!"],"WKHqM+":["Weight"],"WMQchs":["Audio Buffer Size"],"WT1Ibn":["Last run"],"Wb3E4g":["Run now"],"Weq9zb":["General"],"WhJZoS":["Choose the transcode configuration to use for this channel. Configure transcode configurations on the <0>FFmpeg settings page."],"WjUHH8":["Movie Sort"],"WnW1QF":[["block"]," Hours"],"WzNAIP":[["0","plural",{"one":["Hour"],"other":["Hours"]}]],"X0mSqw":["Will force use of a software filters (e.g. scale, pad, etc.) despite hardware acceleration settings."],"X9EHMa":["Editing Smart Collection \\"",["0"],"\\""],"XDT85c":["Media Sources"],"XIgmo9":["Did not receive an accessToken or userId from Jellyfin server."],"XNtsE7":["Calculating Slots..."],"XNw99A":["Software (No GPU)"],"XOgcN3":["Filler List: ",["0"]],"XOuE6F":["This could cause the following slot\'s programs to go unscheduled. Possible solutions include:"],"XSkU3F":["* Restart required"],"XWYqJx":["Duplicate Channel"],"XXwX66":["Set the log level for the Tunarr server.<0/>Selecting <1>\\"Use environment settings\\" will instruct the server to use the <2>LOG_LEVEL environment variable, if set, or system default \\"info\\"."],"XePUKr":["Test Transcode"],"XhWvkJ":[["0"]," of ",["1"]," ",["2"]," exceed the length of this slot (",["3"],"). Average program length: ",["4"]],"Xkppm4":["Enable Watermark"],"Xm/WEQ":["Channel Group"],"XsR2HX":["Test Duration (seconds)"],"Xuml3I":["By default, time slots are time of the day-based, you can change it to time of the day + day of the week. That means scheduling 7x the number of time slots. If you change from daily to weekly, the current schedule will be repeated 7 times. If you change from weekly to daily, many of the slots will be deleted."],"XwU6BE":["You haven\'t created any filler lists yet! Go to the <0>Filler Lists page to create one."],"Y2ngGV":["Add a Filler List"],"Y5XZLy":["<0>Pad Slot: Align slot start times to the specified pad time.<1/><2>Pad Episode: Align episode start times (within a slot) to the specified pad time. <3>NOTE: Depending on slot length and the chosen pad time, this could potentially create a lot of flex."],"Y84UgQ":["Loudness Target"],"YAKCkm":["An error occurred: ",["0"]],"YDlcs3":["Shuffle Programming"],"YLUnu0":["Test Playback"],"YN7vx3":["Custom Show"],"YRQaPv":["Last Synced"],"YRT1+e":["Creates a new collection"],"YSptU0":["Replicate..."],"YT5/eK":["Media Source: \\"",["0"],"\\""],"YXwR3a":["Restore default logo"],"YY/JN7":[" the following day."],"YYLNVW":["Insert breaks at these percentages of the program duration"],"YdIZFA":["This channel number has already been used"],"Yf/Mtb":["You\'re All Set!"],"Z10t2U":["Removes repeated programs."],"Z3FXyt":["Loading..."],"Z4IQ8m":["Channel Transcode Config"],"Z5IrB3":["Open in ",["0"]],"Z6dMWq":["Error while running system fixer ",["fixerId"],". Check server logs for details."],"ZND/fh":["Cannot be empty"],"ZNZzTe":["Cannot disable libraries when they are locked"],"ZShzvn":["\\"",["0"],"\\" Live"],"ZWRt1W":["Output Path"],"ZkdKVr":["Redirect to Channel ",["0"]],"Zky8hA":["The image will be rendered at its actual size without any scaling applied."],"Zs2GWW":["New Emby Media Source"],"Zul8Ry":["never"],"Zvipe1":["Editing Plex Server \\"",["0"],"\\""],"ZxwuFV":["Deleting a Channel will remove all programming from the channel. This action cannot be undone."],"a+Pr3s":["Apply to Program Types (empty = all)"],"a4N/Bg":["Load More"],"aE3UMm":["<0>None: slots are picked in the order they are specified in the table (i.e. not randomly)<1/><2>Uniform: all slots have an equal chance to be picked.<3/><4>Weighted: each slot is picked with a specified probability"],"aOaCIk":["Allow External"],"aScBGS":["Add a filter expression to fine-tune results of the search"],"aSwfbR":["Unit"],"ak3N0i":["Item was not present during the last scan"],"aoLy25":["Opacity"],"b0Uv6P":[["0","plural",{"one":["Path"],"other":["Paths"]}]],"b6sx4K":["No active sessions"],"bDY29m":["Logarithmic"],"bGG6B1":["Jellyfin"],"bHNlfr":["Increasing the slot duration."],"bNEQeI":["Cooldown"],"bORfbY":["Cannot use a channel number <= 0"],"bPJiZF":["Show: ",["0"]],"bSIBDb":["Release Date (asc)"],"bm8pgG":["Add group"],"boItSp":["Delete Media Source?"],"buS8nL":["Enable Subtitles"],"bxyuno":["Override global audio and subtitle settings for this channel."],"bydide":["FFMPEG Log Method"],"c6fsNw":["When enabled, intermittent watermarks fade in immediately when a stream is initialized. When disabled, the first watermark fade-in occurs after a full period."],"cF5KzV":["Edit Filler List"],"cFTdM+":["Console"],"cHYx4E":["Empty Trash"],"cLgGtf":["Reset programming to most recently saved state"],"cN5Dty":["No Programming scheduled"],"cOvZFM":["Dynamic"],"cXkSYc":["There was an error submitting the request to update Media Source settings. Please check the form and try again"],"caSM6R":["This is used by iptv clients to categorize the channels. You can leave it as \'tunarr\' if you don\'t need this sort of classification."],"cgo+Ch":[["remainingTime"]," left"],"cheWPw":["Duplicates"],"cjX7aq":["Are you sure you want to delete Smart Collection \\"",["0"],"\\"?"],"cmKYIw":["Overflow Behavior"],"cmlWKg":["<0>Error deleting custom show: ",["0"],"<1/>Please consider opening a bug with details!"],"cnCAaO":["Percentage-Based"],"cnGeoo":["Delete"],"cv/ykT":["Search Server URL:"],"cxrM1O":["Connect Sources"],"d5zxa4":["Local"],"d72gcv":["Loudnorm Options"],"d9HhJj":["This media source has no enabled or scanned libraries. Enable libraries for this source on the <0>Media Sources page or manually trigger scans on the <1>Library page."],"d9Tsiy":["Error updating channel.<0/>Check browser console for details"],"d9XR+x":["Transcode Config <0> <1/>"],"dBV/FP":["Lock Weights"],"dDX6oS":["Videos from the filler list will be randomly picked to play unless there are cooldown restrictions to place or if no videos are short enough for the remaining Flex time.<0/>Each filler can be assigned a cooldown, which restricts how frequently the list will be chosen during flex time."],"dEgA5A":["Cancel"],"dH8AwH":["Add Breaks"],"dK3Z9j":["Component"],"dQvGiF":[["0","plural",{"one":["#"," session"],"other":["#"," sessions"]}]],"dScixt":["Enable dark Mode"],"dUyQn5":["On-Demand"],"daSf8d":["Group episode programs by their show."],"djpQ8z":["Reload Stream"],"dkURuB":["Tail Buffer (minutes)"],"dnCwNB":["Successfully copied to clipboard!"],"eARDm/":[["0","plural",{"one":["#"," season"],"other":["#"," seasons"]}],", ",["1","plural",{"one":["#"," total episode"],"other":["#"," total episodes"]}]],"eEpDfJ":["Will force use of a software decoder despite hardware acceleration settings."],"eNorwJ":["Programs Too Long"],"ePK91l":["Edit"],"eSsduj":["VA-API Device"],"eZTFiP":["Review Selections"],"eZe0fr":["Audio Channels"],"ecUA8p":["Today"],"efuwN9":["These settings are stored in your browser and are saved automatically when changed."],"eg6m1K":["Edit Transcode Config: \\"",["0"],"\\""],"ep+NHZ":["If you proceed, all unsaved changes will be lost. Are you sure you want to proceed?"],"et+mIi":["Troubleshoot"],"euChZN":["Cyclic Shuffle"],"euc6Ns":["Duplicate"],"exYcTF":["Library"],"eyRsaH":["Root"],"f0w0IC":["Leave blank to use the channel\'s icon."],"f6Hub0":["Sort"],"f6pgxW":["Temporarily caches responses from Plex based by request path. Could potentially speed up channel editing."],"f7DWm5":["Need at least one path"],"fD+lMD":["Select the port the Tunarr server will listen on. This requires a server restart to take effect."],"fI+mNw":["Playlists"],"fJfo1A":["Server Path"],"fN4bgn":["Delete Filler List \\"",["0"],"\\"?"],"fQ9phi":["Remove All"],"fSRZCh":["Restore Default Settings"],"fU1065":["Mid-Roll"],"fWj7Tt":["Shuffle programming in a channel, optionally grouping programs by certain criteria."],"fcqkKg":["Not found!"],"fsBGk0":["Balance"],"ftF4U5":["Show Advanced"],"fxTyFe":["This slot is linked with ",["0"]," other ",["1","plural",{"one":["slot"],"other":["slots"]}],"Content fields are shared across the group."],"fyo+NB":["The End."],"fzWV5a":["Sort TV Shows (desc)"],"g2Pro3":["Reset changes made to the channel\'s lineup"],"g6LxbB":["Break Interval (minutes)"],"g7LzUS":["Install FFMPEG"],"gBx20d":["Custom Program"],"gH5Gbn":["Shuffle"],"gJrGqR":["FFmpeg version 7.1+ recommended. Check your current version in the sidebar"],"gL9DoB":["Programs shorter than this value will be treated the same as Flex time. Meaning that the TV Guide will try to meld them with the previous program or display the block of programs as the \\"place holder program\\" if they make a large continuous group. Use 0 to disable this feature or use a large value to make the channel report only the placeholder program and not the real programming.\\n",["0"]],"gR/hgc":["Error Audio"],"gcD6jw":["Hide watermark during filler"],"gf/bM4":["Continue with New Content"],"gg9/ya":["Remove ",["count"]," ",["0"]],"ghGSuE":["Ensures programs have a nice-looking start time, it will add Flex time to fill the gaps."],"glVpbE":["Eager"],"h/qU8b":["Override the default ",["0"]," device path (defaults to <0>/dev/dri/renderD128 on Linux and blank otherwise)"],"h4yKYk":["Next run"],"h8WhoR":["Slot Scheduler"],"hBGuBW":["Use channel default"],"hBzeL7":["Time before first break"],"hG89Ed":["Image"],"hISVAG":["Media Sources are where Tunarr sources your content. Media can come from your filesystem or a remote server, like Plex or Jellyfin. At least one Media Source is necessary to create channels and play media in Tunarr."],"hQRttt":["Submit"],"hQSabA":["TO"],"hXfj39":["Audio Sample Rate"],"hXzOVo":["Next"],"hYgDIe":["Create"],"he3ygx":["Copy"],"hehnjM":["Amount"],"hhukVU":["Trashed items are items that were previously scanned, but not found in a recent scan. This could be due to missing files or a media server no longer returning the item from its API. These items will be unplayable in channels in their current state. When the trash is emptied, their spots in channels will be replaced with flex."],"hjerov":["Guide Start Time"],"hlIKor":["None:"],"hnFEC+":["Initial Delay + Interval"],"hrdWlG":["Add Show"],"hvo+jE":["Add point (%)"],"i1+yww":["FFprobe version 6.0+ recommended. Check your current version in the sidebar"],"i2QuB6":["Error Screen"],"i9rcQ/":["Movies"],"iH8pgl":["Back"],"iQWhqk":["FFMPEG is installed. Detected version ",["0"]],"iTjV+L":["A-Z (desc)"],"ih+n6S":["Linear"],"ihCTE6":["Error occurred while loading channels, please try again soon."],"ihn4zD":["Search…"],"ilkCYA":[["0","plural",{"one":["Selected Item"],"other":["Selected Items"]}]],"imrPBy":["Watermark Image URL"],"isC0OF":["Use these settings to override global ffmpeg settings for this channel."],"isRobC":["New"],"isyw73":["Auto uses the time convention for the selected language."],"jETaUB":["Buffer size effects how frequently ffmpeg reconsiders the output bitrate. <0>Read more"],"jHjfnS":["Add filler"],"jZlrte":["Color"],"jl3Q84":["Create a Channel"],"jz1oG0":["Selected Audio"],"k6TRai":["FFMPEG transcoding is required for some features like channel overlay, subtitles, and measures to prevent issues when switching episodes."],"kAidIP":["Failed to load feature flags."],"kBJRjR":["Download all logs"],"kIYDzY":["Successfully updated Media Source settings."],"kKgsI0":["<0>Configure the directory where Tunarr writes HLS segment files when transcoding. Tunarr will create the target directory (but not intermediate directories) if it doesn\'t exist.<1/>Changing this field will only affect new sessions. Existing sessions will continue writing to the previous setting, but will clean out segments when the segment ends.<2/>When unset, Tunarr will write segments to its current working directory."],"kKk153":["Load Stream"],"kO0aVB":["Break Duration (minutes)"],"kThBL9":["Sample rate cannot be changed when copying input audio"],"kdkZBD":["Increment"],"kii1WH":["Programming Preview"],"kolyzq":["This ",["0"]," is marked as missing in the database."],"kpfZ0g":["Minimum Program Duration (minutes)"],"kq6sAD":["Add TV Shows or Movies to filler"],"ksFZi3":["<0>Experimental: Enable Plex Request Cache"],"kvMAno":["Web Settings"],"l/UFPv":["Properties"],"l0VyMh":["Flex"],"l15zKW":["All Set!"],"lBADOx":[["count","plural",{"one":["#"," episode"],"other":["#"," episodes"]}]],"lC2oeQ":["Max Duration (minutes)"],"lCF0wC":["Refresh"],"lIUgjN":["Error copying channel m3u link to clipboard"],"lJSUC1":["Watermark"],"lKCfnI":["Audio Language Preferences"],"lS14fB":["Theme Settings"],"lW3FB1":["Download last ",["0"]," ",["1","plural",{"one":["#"," row"],"other":["#"," rows"]}]],"lWmRHf":["Time Slots..."],"lZMqZ5":["If enabled, TV show episodes will use the poster of their show, instead of the individual episode poster."],"laQT4o":["Thumbnail URL"],"lfFsZ4":["Channels"],"lkz6PL":["Duration"],"llDXYJ":["Backups"],"lnABVQ":["Run Troubleshooter"],"m+8qnB":["Library: ",["0"]],"m0Gp21":["Select a program and channel to test playback. The troubleshooter will analyze stream selection, build the FFmpeg pipeline, and run a short test transcode."],"m16xKo":["Add"],"m48LOH":["Hardware Acceleration"],"mCB6Je":["Select All"],"mDcLzR":["Caching"],"mF+u2B":["Don\'t see the library you want here? Ensure it is enabled in the <0>Media Source Settings."],"mGM6Aa":["Custom Shows are sequences of videos that represent a episodes of a virtual TV show. When you add these shows to a channel, the schedule tools will treat the videos as if they belonged to a single TV show."],"mHTMS1":["Normalize Frame Rate"],"mQt7fl":[["count","plural",{"one":["program"],"other":["programs"]}]],"mRWiYM":["Duration (seconds)"],"mWbpso":["Max Backups"],"mYBORk":["Movie"],"mYJG1x":["Your list will be replicated ",["0"]," times"],"mZFYjJ":["Error saving programs. ",["0"]],"mZFr14":["HLS not supported in this browser!"],"md42bg":["Transcode Config (optional override)"],"mgcp8D":["How often to insert a break"],"migeCK":["Filter which subtitle tracks are considered<0/><1>Any: All subtitle tracks are considered <2/><3>Forced: Only consider <4>\\"forced\\"subtitle tracks <5/><6>Default: Only consider default subtitle tracks <7/><8>None: Do not select any subtitles"],"mtQjGe":["Configure subtitle preferences. Preferences are evaluated in order of priority. The first matching subtitle stream on a program will be used."],"mvU6s8":["Sort TV Shows"],"mwtge0":["Started ",["startedAgo"]," - ",["remainingTime"],"remaining"],"n+7HJk":["When file paths on the remote server differ from the paths Tunarr can see, use Path Replacements to instruct Tunarr how to stream media from disk."],"n9nSNJ":["Time format"],"nH6YaM":["Other Videos"],"nSW2Lv":[["days","plural",{"one":["#"," day"],"other":["#"," days"]}]],"nV6twc":["Organize"],"nYD/Cq":["Ascending"],"nZXc7r":["Unlink from group"],"nfAddt":["FFmpeg Transcode Path"],"nfxRnc":["Tunarr is currently configured to use the AC3 audio encoder. This audio format is not supported by browsers. The resultant stream will likely not have audio or will not play at all."],"njIcYs":["Save as new collection…"],"ntJ9rt":["HLS Direct Output Format"],"nzDzPp":["toggle access token visibility"],"o0+Ul2":["Add Flex"],"o2Ucvk":["Libraries"],"o6OQlp":["Edit Channel"],"o7J4JM":["Filter"],"o7Y4WO":["Error saving new Emby server. See browser console and server logs for details"],"oADXRC":["Calculated ",["humanizedDuration"]," (",["numShows"]," programs) of programming in ",["duration"],"ms"],"oCHfGC":["Level"],"oCpfQF":["This feature is currently experimental. Proceed with caution and if you experience an issue, try disabling caching."],"oEZmaP":[["count","plural",{"one":["#"," season"],"other":["#"," seasons"]}]],"oMA2jd":["Removes any specials from the schedule. Specials are episodes with season \'00\'."],"oPWgse":["Maximum number of breaks per program (0 = unlimited)"],"ofUcbc":["Random"],"oihuQr":["Number of Replications"],"ousf2V":["Random…"],"ovBPCi":["Default"],"oxvBx3":["If set, any programming group with fewer episodes will be looped in order to make perfectly even blocks."],"p/78dY":["Position"],"p/KgUp":["The channel\'s regular programming between the specified hours. Flex time will fill up the remaining hours."],"p04z/V":["# Programs"],"p4XZFD":["Local Path"],"pDwcFl":["Save Smart Collection"],"pKYBXC":["Last Scheduled Execution"],"paEQ75":["\\"Stealth\\" channels are hidden from TV guides, spoofed HDHR, m3u playlist, etc. The channel can still be streamed directly or be used as a redirect target."],"pcRxi1":["How frequently libraries should be scanned (starting from midnight)."],"pdlmIS":["<0>Error deleting filler list: ",["0"],"<1/>Please consider opening a bug with details!"],"pkERVr":["Download JSON"],"pqarBu":["Asc"],"pvnfJD":["Dark"],"pwPreK":["Restrict Hours"],"pxh+PI":["Builder"],"q6GKgP":["VAAPI Capabilities"],"q6nlo/":["Subtitle Action"],"q9p3Xw":["Bitrate cannot be changed when copying input audio"],"qAGp2O":["Proceed"],"qG6T/X":["Add Programming"],"qKNcv7":["Generating Bug Report Link..."],"qV9xkb":["Passthrough audio unchanged. Other settings will not apply."],"qiXmlF":["Add Media"],"qjW34v":["This channel is set up to use <0>",["0"],"Slots for programming. Any manual changes on this page will likely make this channel stop adhering to that schedule."],"qlR1dD":["Delete Channel \\"",["0"],"\\"?"],"qs/mhD":["Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate."],"r3ptXC":["Manually add an access token from your Jellyfin server"],"r9sc/0":["Duration must be numeric"],"rAx5u1":["End Time"],"rPEEWz":["Successfully saved config!"],"rSZlvN":["Programming Start"],"rhEkXj":["Head"],"rl/8FN":["Commit"],"rnbEQB":["Copy M3U URL"],"roIf2/":["On-Demand?"],"rtDDIV":["Edit Slot"],"ru5qTc":["Edit Media Source"],"rx5Ria":["All lists are used"],"rxumR2":["Match any of"],"s2OE0W":["Enter a name for your Jellyfin Server"],"s4iETe":["Transcode Config"],"s6lNC3":["Fallback Mode"],"s8zbIS":["Include Seasons"],"sA8Jt7":["This slot replays content aired by continue slots earlier in the period."],"sBJ5MF":["Sources"],"sNnXh6":["Order of programming within the slot"],"sUtIRs":["about "],"sVVcvs":["Experimental Features"],"sfbjgG":["Audio Format"],"sxkWRg":["Advanced"],"sxwNOp":["Logs Directory:"],"sztQMJ":["Programs a Flex time slot. Normally you\'d use pad times, restrict times or add breaks to add a large quantity of Flex times at once, but this exists for more specific cases."],"t/YqKh":["Remove"],"t3hvHq":["Sync Now"],"t5q6kk":["For more details on manually retrieving a Plex token, see <0>here"],"t6+QCF":[["count"]," ",["programLabel"],", ",["0"]],"t8Hzw3":["Cyclic Shuffle randomly shuffles groups of programming."],"tDuQbQ":["Stream Mode"],"tEvsql":["Subtitles"],"tH1aCG":["Video Bitrate"],"tMxWK0":["Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks. For example, you can use this to ensure that all your programs start at either XX:00 times or XX:30 times. Removes any existing Flex periods before adding the new ones. This button might be disabled if the channel is already too large."],"tPGTPB":["Roll the log file on a fixed schedule, regardless of file size."],"tRgOE5":["Balance Programming"],"tXkhj/":["Start"],"tXub8j":["Display Watermark on Leading Edge"],"tYuxvA":["FFMPEG"],"tfDRzk":["Save"],"tgPwON":["Operator"],"ti6ugP":["Error while saving transcode config. See console log for details."],"tkDYSE":[["hours","plural",{"one":["#"," hour"],"other":["#"," hours"]}]],"tlMRNb":["The loaded version of the Tunarr UI does not match the server. Reload the browser to get the latest. If this message persists, clear your browser cache and reload."],"tlNobE":["Custom Show: ",["0"]],"tlmh8e":["Add all selected programs to channel"],"tsqRRB":[["0"]," Poster"],"ty8rVI":["Now Playing:"],"tzwArf":["View in ",["0"]],"u+VWhB":["Copied to clipboard!"],"u+zFIr":["Restrict search fields"],"uAQUqI":["Status"],"uHTa9V":["To use Tunarr, you need to first connect a media source. This will allow you to build custom channels with your content."],"uLiDe/":["Enable embedded subtitle extraction"],"uUTf8r":["Delete Custom Show \\"",["0"],"\\"?"],"uamufO":["Add TV Shows or Movies to programming list."],"ueG1bp":["Program Count"],"ueLbrY":["If true, adjusting the weight of one slot will scale the weights of other slots such that all weights total 100%. Otherwise, weights can be adjusted freely and the weight of each slot is only relative to the total weight."],"uixVel":["By default, saves backups in the server\'s run directory, or, if running in Docker, to /config/tunarr/backups"],"uyR9ei":["Block Shuffle"],"v4nbQ4":["If no more programs can fit into a duration-based slot, flex time is added to fill the gap. This setting determines how flex is added <0>within the slot to ensure all time is filled.<1/><2>Between: Flex time is added between videos within a slot, if there are multiple<3/><4>End: Flex time is added at the end of the slot"],"v5IstB":["after every program"],"v5URfV":["Like Random Shuffle, but tries to preserve the sequence of episodes for each TV show. If a TV show has multiple instances of its episodes, they are also cycled appropriately."],"vAK/B1":["Audio Action"],"vCBet9":["Not a valid number"],"vERlcd":["Profile"],"vGRvxs":["Channel group is required"],"vLf7qg":["Interval (minutes)"],"vSJd18":["Video"],"vU/Hht":["Distribution"],"vXIe7J":["Language"],"vcvFVw":["Escape Hatches"],"vkA4W/":["Source Type"],"vn3SVH":["Could not parse this filter expression. Check the <0>documentation for information about filter expressions."],"vreTxe":[["count","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"vwFKu0":["Cast & Crew"],"vyL1gO":["Release Date (desc)"],"w/bY7R":["Logs"],"w2pCRr":["Show:"],"w3KBq0":["Allows programs to play a bit late if the previous program took longer than usual. If a program is too late, Flex is scheduled instead."],"w3g+lo":["Let\'s get started..."],"wBmIEf":["Number of hours to include in the XMLTV file"],"wBo/7A":["Error while scheduling ",["taskId"],". Check server logs for details"],"wKClDM":["Adds a channel redirect. During this period of time, the channel will redirect to another channel."],"wMHvYH":["Value"],"wOUKOZ":["Max True Peak"],"wZOYCY":["Video Format"],"wdfBIP":["Sort By..."],"wdxz7K":["Source"],"wkQ2tb":["Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks."],"wlYdUk":[["count","plural",{"one":["hour"],"other":["hours"]}]],"wpT1VN":["Condition"],"wtuVU4":["Frequency"],"wwu18a":["Icon"],"x+AjXa":["Channel Fallback"],"x/dwZe":["Enable if the watermark is an animated GIF or PNG. The watermark will loop according to the image\'s configuration. If this option is enabled and the image is not animated, there will be playback errors."],"x1tGMH":["Override how programs within this slot are padded."],"x6/Zc6":["Tail"],"x63PSs":["Search for shows"],"x7PDL5":["Logging"],"xCJdfg":["Clear"],"xDAtGP":["Message"],"xDPFrK":["Scan ",["0"]],"xGVfLh":["Continue"],"xGYZfl":["Edit Libraries"],"xIn7qU":["Disable Hardware Decoding"],"xJIepX":["Default Config"],"xOkMus":["Hardware Accel."],"xPmesF":["Loudness Range Target"],"xQC5se":["Advanced Video Options"],"xXrtPO":["Failed to load item details! Check logs for details"],"xazqmy":["Seasons"],"xbtgIC":["HW Acceleration"],"xdA/+p":["Tools"],"xmBknQ":["Filler Lists"],"xptXTM":["Select Artists to Remove"],"xqIrnW":["Library Clip (not yet implemented)"],"xu3Kah":[["0","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"y28hnO":["Post"],"y4Jmre":["Break Duration"],"y4iKY3":[["count","plural",{"one":["#"," album"],"other":["#"," albums"]}]],"y5x0aB":[["0"]," Info"],"y7wpam":[["value","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"yDUcwc":["Manually add an access token from your Emby server"],"yEDNx2":["Tunarr will update Plex\'s \\"now playing\\" state while channels are active."],"yPE51X":["Configure transcoding settings for Tunarr\'s streams. Each channel is assigned one transcode configuration."],"yPK7+5":["Auto-Update Guide"],"yQE2r9":["Loading"],"yRkqG9":["Limit"],"yX8Rkw":["Add All"],"yftDqj":["New Filler List"],"yjzkvk":["Stop Transcode Session"],"ysJk7v":["Movie Sort Order"],"ysecYP":["Search for a program"],"ytXxnP":["Forced"],"yz/C2/":["Rerun"],"yz7wBu":["Close"],"z4K9d+":["Roll based on size"],"z61uNR":["Add Flex Time"],"zV6tsp":["Consolidate"],"zV9awV":["Force Scan"],"zpylsE":["Transcoding Settings"],"zrmjn/":["Max Duration"],"zthKEs":["The streaming mode affects the type of underlying transcoding process used to create the channel\'s video stream.<0/>Learn more about Tunarr\'s stream modes <1>here!"],"zvjEp6":["Filler cooldown must be a number"],"zx4BuL":["Week"],"zyLvkd":["Category Log Levels"]}', +) as Messages; diff --git a/web/src/locales/es/messages.po b/web/src/locales/es/messages.po index 3e80a1e9e..5e6ab9a9a 100644 --- a/web/src/locales/es/messages.po +++ b/web/src/locales/es/messages.po @@ -298,16 +298,16 @@ msgstr "" msgid "about " msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:362 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:398 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:439 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:455 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:424 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:456 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:472 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:265 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:281 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:367 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:405 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:451 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:468 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:432 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:474 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:511 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:528 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:269 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:286 msgid "Access Token" msgstr "" @@ -315,10 +315,10 @@ msgstr "" #: src/components/settings/AddPlexServer.tsx:14 #: src/components/settings/media_source/AddMediaSourceButton.tsx:83 #: src/components/settings/media_source/EditPathReplacementsForm.tsx:34 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 #: src/hooks/useRouteName.ts:83 msgid "Add" msgstr "" @@ -650,7 +650,7 @@ msgstr "" msgid "Auto uses the time convention for the selected language." msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:352 msgid "Auto-Update Guide" msgstr "" @@ -786,10 +786,10 @@ msgstr "" #: src/components/programming_controls/BalanceProgrammingModal.tsx:68 #: src/components/programming_controls/RemoveShowsModal.tsx:429 #: src/components/programming_controls/ShuffleProgrammingModal.tsx:76 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:486 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:503 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:501 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:583 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:330 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:387 #: src/components/settings/UnsavedNavigationAlert.tsx:67 #: src/components/slot_scheduler/EditRandomSlotDialogContent.tsx:576 #: src/components/slot_scheduler/EditTimeSlotDialogContent.tsx:408 @@ -804,9 +804,9 @@ msgstr "" msgid "Cancel" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:280 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:294 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:214 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:281 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:342 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:215 msgid "Cannot be empty" msgstr "" @@ -1287,7 +1287,7 @@ msgstr "" msgid "Details" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:196 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:203 msgid "Did not receive an accessToken or userId from Jellyfin server." msgstr "" @@ -1469,14 +1469,14 @@ msgstr "" #. placeholder {0}: server.name #. placeholder {0}: source.name -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:214 msgid "Editing \"{0}\"" msgstr "" #. placeholder {0}: server.name -#: src/components/settings/media_source/PlexServerEditDialog.tsx:77 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 msgid "Editing Plex Server \"{0}\"" msgstr "" @@ -1574,11 +1574,11 @@ msgstr "" msgid "Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:342 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:345 msgid "Enter a name for your Emby Server" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:356 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:406 msgid "Enter a name for your Jellyfin Server" msgstr "" @@ -1586,11 +1586,11 @@ msgstr "" msgid "Enter a name for your Local Media Source" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:413 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:420 msgid "Enter your Emby password to generate a new access token." msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:439 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:489 msgid "Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token." msgstr "" @@ -1632,11 +1632,11 @@ msgstr "" msgid "Error querying Plex. Check console log and consider reporting a bug!" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:146 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:147 msgid "Error saving new Emby server. See browser console and server logs for details" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:115 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:122 msgid "Error saving new Jellyfin server. See browser console and server logs for details" msgstr "" @@ -1946,7 +1946,7 @@ msgstr "" msgid "Flex Style" msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:292 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:297 msgid "For more details on manually retrieving a Plex token, see <0>here" msgstr "" @@ -2392,11 +2392,11 @@ msgstr "" msgid "Manual" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:467 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:480 msgid "Manually add an access token from your Emby server" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:484 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:540 msgid "Manually add an access token from your Jellyfin server" msgstr "" @@ -2569,10 +2569,10 @@ msgstr "" #: src/components/settings/ConnectMediaSources.tsx:44 #: src/components/settings/ffmpeg/TranscodeConfigSettingsForm.tsx:95 #: src/components/settings/ffmpeg/TranscodeConfigsTable.tsx:93 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:335 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:349 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:338 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:399 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:238 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:317 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:325 #: src/components/smart_collections/CreateSmartCollectionDialog.tsx:162 #: src/components/smart_collections/EditSmartCollectionDialog.tsx:108 #: src/components/smart_collections/SmartCollectionsTable.tsx:59 @@ -2585,10 +2585,10 @@ msgstr "" msgid "Name" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:330 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:333 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:394 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:233 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:312 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:320 msgid "Name can only contain alphanumeric characters, dashes, and underscores" msgstr "" @@ -2619,7 +2619,7 @@ msgstr "" msgid "New Custom Show" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 msgid "New Emby Media Source" msgstr "" @@ -2631,11 +2631,11 @@ msgstr "" msgid "New Local Media Source" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 msgid "New Media Source" msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:79 msgid "New Plex Server" msgstr "" @@ -2707,9 +2707,9 @@ msgstr "" msgid "Not a valid number" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:282 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:296 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:216 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:283 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:217 msgid "Not a valid URL" msgstr "" @@ -2777,8 +2777,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:418 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:448 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:428 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:501 msgid "OR" msgstr "" @@ -2858,8 +2858,8 @@ msgstr "" msgid "Passthrough audio unchanged. Other settings will not apply." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:407 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:388 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:457 msgid "Password" msgstr "" @@ -3026,9 +3026,9 @@ msgstr "" msgid "Properties" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:284 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:298 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:218 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:285 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:346 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:219 msgid "Protocol must be HTTP or HTTPS" msgstr "" @@ -3445,9 +3445,9 @@ msgstr "" msgid "Selected Subtitle" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:305 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:319 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:239 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:307 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:368 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:241 msgid "Server is unreachable" msgstr "" @@ -4002,11 +4002,11 @@ msgstr "" msgid "Today" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:390 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:447 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:416 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:464 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:273 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:397 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:460 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:466 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:520 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:278 msgid "toggle access token visibility" msgstr "" @@ -4081,6 +4081,18 @@ msgstr "" msgid "Tunarr runs various tasks, sometimes on a schedule, for background operations." msgstr "" +#: src/components/settings/media_source/PlexServerEditDialog.tsx:355 +msgid "Tunarr will attempt to get Plex to pull Tunarr's updated XMLTV upon regeneration" +msgstr "" + +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:571 +msgid "Tunarr will update Jellyfin's \"now playing\" state while channels are active." +msgstr "" + +#: src/components/settings/media_source/PlexServerEditDialog.tsx:375 +msgid "Tunarr will update Plex's \"now playing\" state while channels are active." +msgstr "" + #: src/pages/settings/HdhrSettingsPage.tsx:105 #: src/pages/settings/HdhrSettingsPage.tsx:108 msgid "Tuner Count" @@ -4118,16 +4130,21 @@ msgstr "" #~ msgid "Unlink from group" #~ msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 msgid "Update" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:291 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:305 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:225 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:568 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:372 +msgid "Update Play Status" +msgstr "" + +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:292 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:226 #: src/pages/settings/MediaSourceSettingsPage.tsx:88 msgid "URL" msgstr "" @@ -4144,8 +4161,8 @@ msgstr "" msgid "Use these settings to override global ffmpeg settings for this channel." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:357 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:376 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:361 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:426 msgid "Username" msgstr "" diff --git a/web/src/locales/es/messages.ts b/web/src/locales/es/messages.ts index d1335e54f..bf7cd9049 100644 --- a/web/src/locales/es/messages.ts +++ b/web/src/locales/es/messages.ts @@ -1 +1,4 @@ -/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"++nzCr\":[\"Bit Depth\"],\"+2JHIs\":[\"Link to existing slot\"],\"+406Vu\":[\"View Full Details\"],\"+4YwQF\":[\"# of Programs\"],\"+4mjS6\":[\"Remove icon\"],\"+9EErD\":[\"Music Videos\"],\"+DmLct\":[\"Programs\"],\"+SA5Ao\":[\"A root path to scan for media. Local sources can search many different paths.\"],\"+TZiPJ\":[\"Server is unreachable\"],\"+UPOiB\":[[\"count\",\"plural\",{\"one\":[\"min\"],\"other\":[\"mins\"]}]],\"+Xg5cX\":[\"Filler is picked fresh at stream time like Flex time. The guide shows \\\"Commercial Break\\\" placeholders.\"],\"+YdE7b\":[\"Enable rolling log files using time and/or size based criteria\"],\"+hl/7A\":[\"Channels configured to use the HLS Direct stream mode will output in the selected container format.\"],\"+k9lxR\":[\"Enter a name for your Local Media Source\"],\"+mdNfU\":[[\"count\",\"plural\",{\"one\":[\"#\",\" track\"],\"other\":[\"#\",\" tracks\"]}]],\"+suWTj\":[\"Adds Flex breaks between programs, attempting to avoid groups of consecutive programs that exceed the specified number of minutes.\"],\"+tlhMz\":[\"Plex (Manual)\"],\"+yEE7s\":[\"New Media Source\"],\"+yOcRn\":[\"HDHR\"],\"+ya1pX\":[\"Delete Slot\"],\"+zY9Xc\":[\"Configure Cyclic Shuffle\"],\"+zy2Nq\":[\"Type\"],\"/+ZaFm\":[\"Soundtrack\"],\"/4gGIX\":[\"Copy to clipboard\"],\"/6iIT9\":[\"Settings Saved!\"],\"/DTWjr\":[\"Congrats, you're ready to start building channels! Just click Finish below to start working on your first channel.\"],\"/QmYEW\":[\"Balance...\"],\"/TEOcd\":[\"Presets\"],\"/e88IO\":[\"Schedule programming in blocks that are either count or duration based. Can be used to generate random schedules.\"],\"/gavzH\":[\"Basic button group\"],\"/j3jjC\":[\"Error while saving settings. Please check console for details.\"],\"/n/HCO\":[\"Keywords\"],\"/rTz0M\":[\"Audio\"],\"/vJase\":[\"Streaming\"],\"09gg05\":[\"Programming\"],\"0IAEaX\":[\"Match\"],\"0MWZh1\":[\"Search is currently scoped to this Media Source Library.\"],\"0VHz2s\":[\"Filler Options\"],\"0cULRy\":[\"Experimental: Make perfect schedule loop\"],\"0dy9K6\":[\"Read Less\"],\"0mEBXY\":[\"Delete Transcoding Config \\\"\",[\"0\"],\"\\\"?\"],\"0wJVK+\":[\"Basic\"],\"0zpgxV\":[\"Options\"],\"1/dAym\":[\"Grouping works as follows:\"],\"14PdY0\":[\"Config\"],\"1AdBl9\":[\"Break Positioning\"],\"1BDPP1\":[\"Looks like something went wrong.\"],\"1BGQfg\":[\"Alphabetically\"],\"1CFAQ+\":[\"Set by environment variable\"],\"1DxLRi\":[\"No programming scheduled for this time period\"],\"1PQRWr\":[\"Start Time\"],\"1QfxQT\":[\"Dismiss\"],\"1TYXl0\":[\"Enter your Emby password to generate a new access token.\"],\"1V3Prt\":[\"Deleting a Filler will remove all programming from the channel. This action cannot be undone.\"],\"1Z90J4\":[\"Days to Precalculate\"],\"1hKEom\":[\"Priority\"],\"1jqDmP\":[\"Successfully scheduled \",[\"taskId\"],\" (running in background).\"],\"1njn7W\":[\"Light\"],\"2BBAbc\":[\"List\"],\"2BRPyl\":[\"System Info\"],\"2CVuYr\":[\"Smart Collection - \",[\"0\"]],\"2L7cj6\":[\"You haven't created any channels yet.\"],\"2QLniG\":[\"Existing query: \",[\"filterString\"]],\"2eFlmt\":[\"Tracks\"],\"2hOCU2\":[\"Smart Collections\"],\"2imNg3\":[\"Web version = \",[\"0\"],\", Server version = \",[\"1\"]],\"2mAJXf\":[\"Makes multiple copies of the schedule and plays them in sequence. Normally this isn't necessary, because Tunarr will always play the schedule back from the beginning when it finishes. But creating replicas is a useful intermediary step sometimes before applying other transformations. Note that because very large channels can be problematic, the number of replicas will be limited to avoid creating really large channels.\"],\"2oWehJ\":[\"Reset to current date/time\"],\"2vxecF\":[\"Show Stealth\"],\"2x4THe\":[\"\\\"\",[\"0\"],\"\\\" Sessions\"],\"312fSE\":[\"Select Shows to Remove\"],\"315BhT\":[\"Alphabetical\"],\"3JIYke\":[\"Healthy?\"],\"3JQkm5\":[\"Path Replacements\"],\"3JjdaA\":[\"Run\"],\"3LfNqe\":[\"Channel Number\"],\"3SH6Vv\":[\"Copied channel \\\"\",[\"channelName\"],\"\\\" m3u link to clipboard\"],\"3YNjnA\":[\"System Environment\"],\"3b1vGb\":[\"New Local Media Source\"],\"3mAQJI\":[\"How often the XMLTV file is regenerated\"],\"3nLdaX\":[\"Add \",[\"0\"]],\"3nwcC5\":[\"Filler - \",[\"0\"]],\"49dCCB\":[\"Use Show Poster\"],\"4Fpcxu\":[\"Initial Delay (minutes)\"],\"4NbDEd\":[\"Deleting a Custom Show will remove its programming from channels that use it. This action cannot be undone.\"],\"4Uc/2h\":[\"Server Listen Port\"],\"4VxpoP\":[\"Music tracks are grouped by artist\"],\"4XSc4l\":[\"Weekly\"],\"4XfYeY\":[\"Random (by show)\"],\"4fLgiT\":[\"Allow Image Based\"],\"4qmJK4\":[\"Tunarr Backend URL\"],\"4wkwyL\":[\"Disable Hardware Filters\"],\"4yQF++\":[\"Custom show programs are grouped by their parent show\"],\"50whWJ\":[\"XMLTV Link:\"],\"53/4tH\":[\"Audio Options\"],\"536Xwe\":[\"Error copying to clipboard!\"],\"53tfay\":[\"This allows to schedule specific shows to run at specific time slots of the day or a week. It's recommended you first populate the channel with the episodes from the shows you want to play and/or other content like movies and redirects.\"],\"5ABghp\":[\"FFmpeg Settings\"],\"5V93hk\":[\"Schedule programming using slots assigned a start time and duration.\"],\"5WeWGz\":[\"Selected Subtitle\"],\"5k0NLb\":[\"Review\"],\"5lSgNP\":[\"Enable SSDP server\"],\"5nsbxB\":[\"Alternates TV shows in blocks of episodes. You can pick the number of episodes per show in each block and if the order of shows in each block should be randomized. Movies are moved to the bottom.\"],\"5qV3NN\":[\"Flex Style\"],\"5yIPLp\":[\"Oops!\"],\"6/dCYd\":[\"Overview\"],\"63/DSM\":[\"Transcoding Configs\"],\"63driG\":[\"Stream JSON\"],\"67RoFa\":[\"Pipeline\"],\"6Y9c2m\":[\"This slot is linked with \",[\"0\"],\" other slot(s). Content fields are shared across the group.\"],\"6YtxFj\":[\"Name\"],\"6ZMWKw\":[\"XMLTV\"],\"6bbWRs\":[\"Add programming to custom show\"],\"6dvIbw\":[\"Unlink\"],\"6jAi8c\":[\"Range\"],\"6jfS51\":[\"Welcome\"],\"6ki7F2\":[[\"0\",\"plural\",{\"one\":[\"#\",\" item\"],\"other\":[\"#\",\" items\"]}]],\"6mJ9tF\":[\"FFMPEG is not detected.\"],\"6mpwdR\":[\"Match all of\"],\"6pL6be\":[\"Configure what appears on your channel when there is no suitable filler content available. Using channel fallbacks requires ffmpeg transcoding.\"],\"6w0yiE\":[\"FFMPEG Log Level\"],\"6zfUar\":[\"Stream Selection\"],\"71O7b0\":[\"Media Info\"],\"73XwX0\":[\"No programs selected\"],\"73flfT\":[\"QSV Device\"],\"7B3lfh\":[\"Items from any filler list will not be chosen more frequently than this cooldown setting.\"],\"7LWPgS\":[\"Enabled (loudnorm)\"],\"7ODkf5\":[\"Log level to pass to ffmpeg. Read more about ffmpeg's log levels <0>here\"],\"7Q5AKf\":[[\"count\",\"plural\",{\"one\":[\"track\"],\"other\":[\"tracks\"]}]],\"7b2stB\":[\"Media Type\"],\"7eMo+U\":[\"Go Home\"],\"7eZlTH\":[\"Sort TV Shows (asc)\"],\"7iJlKU\":[\"Please choose a value greater than 1\"],\"7pMNGK\":[\"Programs saved!\"],\"7sNhEz\":[\"Username\"],\"7tvV2B\":[\"Min Duration (minutes)\"],\"7uohY3\":[\"TV shows are grouped by show\"],\"80t7Ii\":[\"Increasing \\\"Max Lateness\\\" for the schedule.\"],\"87a/t/\":[\"Label\"],\"8E9KXK\":[\"Feature flags saved!\"],\"8MIU1T\":[\"Program\"],\"8TMaZI\":[\"Timestamp\"],\"8ZsakT\":[\"Password\"],\"8vETh9\":[\"Show\"],\"8wngZM\":[\"Fallback\"],\"8wu9lr\":[\"Queued\"],\"9+90+V\":[\"Enable Log File Rolling\"],\"94qSvE\":[\"Synced with external playlist\"],\"96zw7M\":[\"This show is marked as missing in the database.\"],\"983IRa\":[\"All linked slots show the same episode, advancing only after all have played.\"],\"9E+eyD\":[\"Output video at a constant frame rate.\"],\"9E9tRC\":[\"Fill with Flex\"],\"9Eq43e\":[\"If set, all watermark overlays will be disabled for channels assigned this transcode config.\"],\"9GPYnX\":[\"Do not group programs at all. Normal shuffle.\"],\"9WG5wy\":[\"Specials\"],\"9asVsi\":[\"How long each commercial break lasts\"],\"9qdNKR\":[\"Error Options\"],\"9sqrEU\":[\"Filler List\"],\"9td1Wl\":[\"Check\"],\"9vtG84\":[\" Scheduling Strategy\"],\"A+GCyx\":[\"Hide Advanced\"],\"A0+T6c\":[\"Reset Changes\"],\"A1taO8\":[\"Search\"],\"A7WmPm\":[\"New Plex Server\"],\"A9Rhec\":[\"Channel Name\"],\"ACKu03\":[\"Refresh Preview\"],\"AKjNTL\":[\"Add Padding\"],\"AM972O\":[\"Add Redirect\"],\"ANICN0\":[\"No media sources connected.\"],\"AO2Z5d\":[\"Movie, \",[\"0\"]],\"AOHgZp\":[\"Episodes\"],\"AVKoQM\":[\"Redirect to \\\"\",[\"0\"],\"\\\"\"],\"AXg7m0\":[\"Search is currently scoped to this Media Source.\"],\"AXjA78\":[\"Field\"],\"AdfhAd\":[\"If there are issues playing a video, Tunarr will try to use an error screen as a placeholder while retrying loading the video every 60 seconds.\"],\"AdogaJ\":[\"Pipeline Steps\"],\"AlfqgK\":[\"Watch\"],\"ApsQAb\":[\"HDHR: Loading...\"],\"AyInY5\":[\"Video Options\"],\"AzCYkg\":[\"Connect Media Sources\"],\"B+HsXP\":[\"FFMPEG: \",[\"0\"]],\"B1NOvD\":[\"Removes all programs from schedule\"],\"B1W8vw\":[\"Delete \\\"\",[\"0\"],\"\\\"\"],\"BGHH1t\":[\"Min. Visible in Guide Duration Program (seconds)\"],\"BJjJuo\":[\"EPG (Hours)\"],\"BMlGCC\":[\"Click to preview the items in this Custom Show. Note that only the whole show can be added at once.\"],\"BQsifH\":[\"Stream Info\"],\"BWTzAb\":[\"Manual\"],\"BXXjCD\":[\"FFmpeg not found. For all features to work, we recommend installing FFmpeg 7.1+ or update your FFmpeg executable path in settings.\"],\"BaUuhR\":[\"Codec\"],\"BlmmxH\":[\"FFmpeg Log\"],\"Bq0ryo\":[\"Reset Options\"],\"BtL93c\":[[\"0\",\"plural\",{\"one\":[\"#\",\" source connected.\"],\"other\":[\"#\",\" sources connected.\"]}]],\"C4KL42\":[\"Consolidates contiguous match flex and redirect blocks into singular spans\"],\"C6jEO3\":[\"Log Level\"],\"CAiikc\":[\"Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token.\"],\"CJkEfx\":[\"Block\"],\"CKQ3t3\":[\"Total Runtime\"],\"CMQ09J\":[\"Scanning\"],\"COv7As\":[\"Cooldown (seconds)\"],\"CRsuq4\":[\"Every\"],\"CVqySE\":[[\"len\",\"plural\",{\"one\":[\"There is \",\"#\",\" warning. Click for details.\"],\"other\":[\"There are \",\"#\",\" warnings. Click for details.\"]}]],\"CWRFGq\":[\"Modify Programming\"],\"CXDHcv\":[\"Grid\"],\"CcX8VV\":[\"Completely randomizes the order of programs.\"],\"CeyB7O\":[\"FFmpeg Executable Path\"],\"CfOWar\":[\"Logarithmic decay, lighter weighting.\"],\"CfUvtM\":[\"Error saving new Smart Collection. Check server logs and browser console for details.\"],\"CfxLtO\":[\"Program JSON\"],\"Cko536\":[\"Descending\"],\"Cp5Awv\":[\"Duration must be greater than 0.\"],\"CqSP2T\":[\"Edit Channel Redirect\"],\"CsrDsg\":[\"12-hour\"],\"Cxqf0C\":[\"Plex (Auto)\"],\"D+NlUC\":[\"System\"],\"D1Fhv3\":[[\"count\",\"plural\",{\"one\":[\"episode\"],\"other\":[\"episodes\"]}]],\"DPfwMq\":[\"Done\"],\"DRya1t\":[\"Audio Volume\"],\"DSwJ9W\":[\"Enable Animation\"],\"DUd3Ss\":[\"Sorts the list by TV Show and the episodes in each TV show by their season/episode number. Movies are moved to the bottom of the schedule.\"],\"DbouLP\":[\"Back to Programming\"],\"Dd9orS\":[\"Remove All \",[\"movieCount\"],\" \",[\"movieCount\",\"plural\",{\"one\":[\"Movie\"],\"other\":[\"Movies\"]}]],\"Dnn2XG\":[\"Automatic\"],\"DoJzLz\":[\"Collections\"],\"DxvGLB\":[\"Add Slot\"],\"E/QGRL\":[\"Disabled\"],\"E5ipHC\":[\"Balance By:\"],\"E8oclZ\":[\"Copied Channel ID!\"],\"EKlukx\":[\"Copy Full Report\"],\"EL4/HD\":[[\"0\",\"plural\",{\"one\":[\"program\"],\"other\":[\"programs\"]}]],\"EdQY6l\":[\"None\"],\"EkH9pt\":[\"Update\"],\"Etie0Q\":[\"All channels assigned to this config will be set to use the default configuration. If this is the last configuration, a new default configuration will be created.\"],\"Eu20Os\":[\"Time Slots\"],\"Ev2r9A\":[\"No results\"],\"F1l877\":[\"Subtitle Streams\"],\"F3bW6y\":[\"Platform\"],\"F3smBd\":[\"Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.<0/><1>Note: Previewing the schedule in the browser for long lengths of time can cause UI performance issues\"],\"FDEfoy\":[\"Deleting a media source will remove all of its associated programs from Tunarr.\"],\"FXCwT9\":[\"FFprobe Executable Path\"],\"FZg3wM\":[\"Operation\"],\"FmN5me\":[\"Resolution\"],\"FnChN1\":[\"Enable <0>EBU R 128 loudness normalization via the <1>loudnorm FFmpeg filter. May increase CPU usage during streaming.\"],\"Fp7p73\":[\"Time between subsequent breaks\"],\"FqCHF/\":[\"Threads\"],\"FrRP21\":[\"There was an error when submitting the form. Please see console logs for details.\"],\"FsF4bb\":[\"Audio Loudness Normalization\"],\"FssFce\":[\"Configure preferred audio languages globally.\"],\"Fzn/BQ\":[\"Release Date\"],\"G+8qH5\":[\"Channel name is required\"],\"GDKKxT\":[\"Access Token\"],\"GHOK4Z\":[\"Time Format\"],\"GJ1P5j\":[\"File a Bug Report\"],\"GKLqtE\":[\"Set the host of your Tunarr backend. When empty, the web UI will use the current host/port to communicate with the backend.\"],\"GLOZdc\":[\"Custom Shows\"],\"GP/CFo\":[\"HW Accel\"],\"GQ3O42\":[\"Trash\"],\"GRCrpV\":[\"Manage Libraries\"],\"GUtCZC\":[\"Version: \",[\"0\"]],\"GhZ4GX\":[\"Error while copying to clipboard. Check browser logs for details\"],\"GmP0oY\":[\"Slot Warnings\"],\"GmTnBN\":[\"Enable ffmpeg logging to different sinks. Outputting to a file will create a new log file for every spawned ffmpeg process in the Tunarr log directory. These files are automatically cleaned up by a background process.\"],\"Gr1Ik2\":[\"Nvidia Capabilities\"],\"GtycJ/\":[\"Tasks\"],\"GzzMwi\":[\"Roll on Schedule\"],\"H0QGc9\":[\"Filler List Cooldown (seconds)\"],\"H1OFlu\":[\"Inverse linear decay, heavier weighting.\"],\"H1V+2G\":[\"To use Tunarr, you must first connect at least one media source. Media sources provide all content used to create channels in Tunarr. Plex and Jellyfin are currently supported.\"],\"H3OF1s\":[\"Tuner Count\"],\"H7OUPr\":[\"Day\"],\"H8100o\":[\"Filler lists are collections of videos that you may want to play during 'flex' time segments. Flex is time within a channel that does not have a program scheduled (usually used for padding).\"],\"HDoQBx\":[\"Channel settings saved!\"],\"HEH0PR\":[\"Must define at least one language preference\"],\"HErtdg\":[\"Name can only contain alphanumeric characters, dashes, and underscores\"],\"HLlLPP\":[\"Channel Stream Mode\"],\"HMWEIt\":[\"Edit Flex Time\"],\"HOLbdk\":[\"Failed to load stream details! Check logs for details\"],\"HSfauP\":[\"This slot is linked with \",[\"0\"],\" other \",[\"1\",\"plural\",{\"one\":[\"slot\"],\"other\":[\"slots\"]}],\". Content fields are shared across the group.\"],\"HVpg3x\":[\"Failed to load Smart Collection\"],\"HXx+vU\":[\"Controls what happens when this slot runs out of replayed content from earlier continue slots.\"],\"HYCPKT\":[\"Add Selected Media\"],\"HajiZl\":[\"Month\"],\"HdE1If\":[\"Channel\"],\"Hjfx9G\":[\"Audio & Subtitles\"],\"HmHwcC\":[\"Fixed Interval\"],\"HptUxX\":[\"Number\"],\"HqUilK\":[\"Keywords perform full text search across all (or configured) fields\"],\"HzV8B2\":[\"Skip mid-roll for programs shorter than this\"],\"I+FvbD\":[\"Scan\"],\"I2Bar3\":[\"Shows\"],\"I5BU70\":[\"Smart Collection: \",[\"0\"]],\"I6gXOa\":[\"Path\"],\"IDlmXg\":[\"Tunarr Backend URL:\"],\"IFiQdD\":[\"Channels M3U Link:\"],\"IMxI++\":[\"Not a valid URL\"],\"INCbO6\":[\"On-Demand channels resume from where you left off. Programming is paused when the channel is not streaming.<0/><1>NOTE: While the channel is inactive, the TV Guide for the channel will be empty.\"],\"IagCbF\":[\"URL\"],\"IetKlB\":[\"New Custom Show\"],\"IgC1fP\":[\"Enable light Mode\"],\"IiBgkW\":[\"Failed to update Media Source settings. Please check server and browser logs for details.\"],\"IoSxk9\":[\"Protocol must be HTTP or HTTPS\"],\"IvkbIT\":[\"Read More\"],\"J/eF78\":[\"Removing overrun programs from the channel.\"],\"J0NKO1\":[\"Exclude Seasons\"],\"J2eKUI\":[\"File\"],\"J2lnQW\":[\"Pre\"],\"J41wt0\":[\"Slot Editor\"],\"J4Ngmi\":[\"Loop Short Programs\"],\"J50/e4\":[\"Filter Type\"],\"J8X80J\":[\"Stealth?\"],\"JCGCcQ\":[\"Sorts everything by its release date. This will only work correctly if the release dates in Plex are correct. In case any item does not have a release date specified, it will be moved to the bottom.\"],\"JCOZTc\":[\"Audio & Subtitle Options\"],\"JOFDLs\":[\"Program Playback Troubleshooter\"],\"JeAvlS\":[\"Pad Times\"],\"JeL1O4\":[\"Redirect duration\"],\"Jj3SJk\":[\"A-Z (asc)\"],\"JmZ/+d\":[\"Finish\"],\"Jpe9a8\":[\"Attempts to balance programming groups by either total lineup duration or number of unique programs. For instance, for a channel with many seasons of one show and few seasons of another, balancing will attempt to create an even mix of both shows by inserting repeats of the show with fewer episodes.\"],\"JryIGL\":[\"Adjust Weights\"],\"Jsel0T\":[\"This channel has an existing time slot schedule. A channel can only use one scheduling type at a time. Saving a schedule here will remove the existing time slot schedule.\"],\"Jtbzxr\":[\"Version: unknown\"],\"JxE+Bh\":[\"Allows you to pick specific programming to remove from the channel.\"],\"JyHA6G\":[\"Displays the last \",[\"0\"],\" system log events. Use the buttons below to export these logs or download the entire log file for debugging.\"],\"JzJk+4\":[\"Add Language Preference\"],\"K09nyY\":[\"Linked slots advance episode progression together sequentially.\"],\"K8+dbZ\":[[\"totalConnections\"],\" total\"],\"K9pQ8Q\":[\"Disable Watermarks\"],\"KRjDf4\":[\"Audio Streams\"],\"Khe/Vb\":[\"Watch Channel\"],\"KkOthv\":[\"Guide\"],\"Km5fSd\":[\"If you are confident FFMPEG is installed, you may just need to update the executable path in the settings. To do so, simply click Edit above to update the path.\"],\"L+8pV5\":[\"Sync with external playlist\"],\"L/KmPM\":[\"Usually slots need to add flex time to ensure that the next slot starts at the correct time. When there are multiple videos in the slot, you might prefer to distribute the flex time between the videos or to place most of the flex time at the end of the slot.\"],\"L6Mhe6\":[\"You have unsaved changes!\"],\"L8Hb+D\":[\"Sets the number of threads used to decode the input stream. Set to 0 to let ffmpeg automatically decide how many threads to use. Read more about this option <0>here. <1>Note: this option is overridden to 1 when using hardware accelearation for stability reasons.\"],\"LKPR6G\":[\"Playlist\"],\"LKSv28\":[\"Smart Collections are self-updating content lists. You set the query and the collection automatically adds any new content from your library that fits those rules. Any newly added content matching query will not modify existing channel programming at this time.\"],\"LMMGPr\":[\"Submitting...\"],\"LRvqnF\":[\"Error saving new Jellyfin server. See browser console and server logs for details\"],\"LTC198\":[\"Running...\"],\"LTYRAI\":[\"View Library\"],\"LiCr5o\":[\"Limit must be numeric\"],\"MHrjPM\":[\"Title\"],\"MKK96e\":[\"View Collection\"],\"MR6Nlf\":[\"Change the verbosity of specific categories of logs. Useful if debugging a specific feature.\"],\"MS1Dhi\":[\"Max file size (bytes)\"],\"MVBLYK\":[\"Remove...\"],\"MW42Hp\":[\"Customize how movie blocks are sorted\"],\"Md/eZS\":[[\"count\",\"plural\",{\"one\":[\"#\",\" item\"],\"other\":[\"#\",\" items\"]}]],\"MfkGXC\":[\"Shuffle Grouping\"],\"MkMcGz\":[\"Refresh Libraries\"],\"Ml7h3C\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Program\"],\"other\":[\"#\",\" Programs\"]}]],\"Mrdyk9\":[\"Genre\"],\"Mv+xQh\":[\"New Channel\"],\"N15e5e\":[\"Remove custom icon\"],\"NGOfis\":[\"Disable Image Scaling\"],\"NGSThJ\":[\"Smart Collection\"],\"NL/bON\":[\"FFmpeg Command\"],\"NQ7yht\":[\"Must use a valid URL, or empty.\"],\"NaDxQ2\":[\"Auto Deinterlace Video\"],\"Nb+B9K\":[\"Adjust the output volume (not recommended). Values higher than 100 will boost the audio.\"],\"NcV1df\":[\"Pad Start Times\"],\"NfTP7a\":[\"Advanced options relating to audio. In general, do not change these unless you know what you are doing!\"],\"NfZ8rc\":[\"24-hour\"],\"Nkn5MW\":[\"Removes all Flex periods from the schedule.\"],\"NnH3pK\":[\"Test\"],\"NnuRri\":[\"This allows you to pick the weights for each of the shows, so you can decide that some shows should be less frequent than other shows.\"],\"NtQvjo\":[\"Period\"],\"Nu4oKW\":[\"Description\"],\"Ny7dz3\":[\"Albums\"],\"NyfQ4q\":[\"Save as Smart Collection\"],\"O1xfOi\":[\"Random...\"],\"O5izWu\":[\"This custom show is synced with an external playlist. Content is updated automatically and cannot be edited manually.\"],\"O8g6Na\":[\"Last Scanned: \",[\"0\"]],\"OPw3KG\":[\"Connect Media Source\"],\"OVmXHk\":[\"Refresh Timer (Hours)\"],\"Ob+B6e\":[\"Buffer size cannot be changed when copying input audio\"],\"OfC/JK\":[\"Custom Show - \",[\"0\"]],\"OfYtUi\":[\"Filler Content\"],\"OfhWJH\":[\"Reset\"],\"OrDu0o\":[\"Video Buffer Size\"],\"Osn70z\":[\"Debug\"],\"P/TyYO\":[\"The type of media in the provided paths\"],\"P1BU0j\":[\"Frame Rate\"],\"P29ZKI\":[\"Enter a name for your Emby Server\"],\"P2DGHD\":[\"Programming starts at \",[\"startTime\"],\" and stops at \",[\"endTime\"]],\"P3i3NN\":[\"Edit Channel Settings\"],\"P6Io39\":[\"Max Lateness\"],\"P6c7YE\":[\"Remove Programming\"],\"PCBfmf\":[\"Renders a channel icon (also known as bug or Digital On-screen Graphic) on top of the channel's stream.\"],\"PJ/u9s\":[\"Copied \",[\"0\"],\" URL to clipboard\"],\"PT6k0T\":[\"Pixel Format\"],\"PX1WM1\":[\"Successfully emptied trash.\"],\"Pazp7r\":[\"There was an error generating time slots. Check the browser console log for more information\"],\"PeBTGz\":[\"Clear Schedule\"],\"PeBylA\":[\"You must create at least one <0>filler list before assigning filler to a lot.\"],\"Pfatg8\":[[\"minutes\",\"plural\",{\"one\":[\"#\",\" minute\"],\"other\":[\"#\",\" minutes\"]}]],\"PgdRhI\":[\"Weighting\"],\"Ph+yE0\":[\"0 mins\"],\"PhKcf0\":[\"Edit Transcode Config\"],\"PiY0nu\":[\"You have no Filler Lists. Create your first Filler List <0>here.\"],\"Pol2QS\":[\"Emby\"],\"PpZkda\":[\"Features\"],\"PwpUBp\":[\"This is the name of the fake program that will appear in the TV guide when there are no programs to display in that time slot guide, e.g when a large Flex block is scheduled.\"],\"Pwqkdw\":[\"Loading…\"],\"Q8L6q9\":[\"Video Streams\"],\"QAUrt0\":[\"Refresh Page\"],\"QEb4hu\":[\"Stealth Mode\"],\"QG2xdt\":[\"Create Rerun Block\"],\"QHRTYn\":[\"Slots Editor...\"],\"QKMxhc\":[\"Tunarr runs various tasks, sometimes on a schedule, for background operations.\"],\"QUxTIQ\":[\"Filler is resolved at schedule time. The guide shows specific filler titles.\"],\"Qll2Tb\":[\"Desc\"],\"QlrQ/Z\":[\"Next Scheduled Execution\"],\"Qm1NmK\":[\"OR\"],\"Qu844y\":[\"Time Slot Editor\"],\"QvKdb0\":[\"Placeholder Program Title\"],\"Qx971g\":[\"After Every\"],\"R/7J0Z\":[\"Artists\"],\"R/N+HY\":[\"No programming added yet\"],\"R/xSFi\":[\"Editing \\\"\",[\"0\"],\"\\\"\"],\"R0yni2\":[\"Attempt Auto-Fix\"],\"R40oLk\":[\"Will force use of a software encoder despite hardware acceleration settings.\"],\"R6kHq+\":[\"Link Mode\"],\"R9Khdg\":[\"Auto\"],\"RCeEAd\":[\"Global Options\"],\"RGf6l7\":[\"Select a slot to link to\"],\"RI4u49\":[\"<0>You can edit this location in your settings.json within your Tunarr data directory<1/><2>NOTE: When manually adding the XMLTV location to a client like Plex, do not use this file directly. Instead, use the generated XMLTV from the Tunarr API endpoint: \",[\"0\"],\"\"],\"RTxUjI\":[\"Copy to Clipboard\"],\"RUYsn0\":[\"Clear All\"],\"RVl9/c\":[\"Alternate programs in blocks. You can pick the number of programs per-type in each block and if the order of shows in each block should be randomized.\"],\"RYP47R\":[[\"0\",\"plural\",{\"one\":[\"Day\"],\"other\":[\"Days\"]}]],\"RYlQY0\":[\"Repeats\"],\"RaHlqV\":[[\"totalConnections\",\"plural\",{\"one\":[\"#\",\" connection\"],\"other\":[\"#\",\" connections\"]}]],\"RavMGr\":[[\"count\",\"plural\",{\"one\":[\"second\"],\"other\":[\"seconds\"]}]],\"RbgUS/\":[\"Copy Channel ID\"],\"RtPRIb\":[\"Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.\"],\"RxzN1M\":[\"Enabled\"],\"S/CawK\":[\"Movies are grouped altogether\"],\"S5v5/h\":[\"Enabling embedded subtitle extaction will periodically scan your upcoming programming for embedded text-based subtitle streams and extract them to a local cache. This is necessary in order to enable subtitle burning for text-based subtitles which are not external streams.\"],\"S60KP9\":[\"Server Settings\"],\"S8zZJK\":[\"Welcome to Tunarr!\"],\"SBtwzo\":[\"Version Mismatch!\"],\"SCZJhh\":[\"Audio Bitrate\"],\"SFjIKS\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Selected Item\"],\"other\":[\"#\",\" Selected Items\"]}]],\"SOXW6w\":[\"All Genres\"],\"SY1gRl\":[\"Media Source\"],\"SYGPcm\":[\"You have no smart collections. Smart collections can be created on the <0>search page.\"],\"SZcfpX\":[\"Pad Style\"],\"SZzr30\":[\"The selected languages will be considered in order they are selected.\"],\"Sbs5dW\":[\"Filler\"],\"Sg3laT\":[\"Min Duration\"],\"SoRsRS\":[\"Calculates a schedule where all programs end at the same time, creating a perfectly looping schedule.\"],\"SuubHr\":[\"Deleting a Plex server will remove all programming from your channels associated with this plex server. Missing programming will be replaced with Flex time. This action cannot be undone.\"],\"SywaS+\":[\"Data Directory:\"],\"T5wfux\":[\"Makes multiple copies of the schedule and plays them in sequence\"],\"T8drou\":[\"System Health\"],\"TEM0vH\":[\"Removes all programs from custom show\"],\"TMADKS\":[\"Divides the programming in blocks of 4, 6, 8 or 12 hours then repeats each of the blocks the specified number of times.\"],\"TMju4P\":[\"Delete Media Source \\\"\",[\"0\"],\"\\\"?\"],\"TS0lwx\":[\"Encountered an error when emptying trash. Check console logs for details.\"],\"TZKpsF\":[\"No Media Sources detected.\"],\"TpqW74\":[\"Fixed\"],\"Ts6Zfm\":[\"Error updating Smart Collection. Check logs for details.\"],\"Ts8Q+i\":[\"EPG\"],\"TvY/XA\":[\"Documentation\"],\"Tz0i8g\":[\"Settings\"],\"TzyoiK\":[\"When enabling, Tunarr will generate an initial backup immediately\"],\"U0sC6H\":[\"Daily\"],\"U3+jR/\":[\"Replicate Programs\"],\"UC1lMc\":[\"Failed to save feature flags.\"],\"UE2eVC\":[\"Sorts alphabetically by program title\"],\"UHu/Uf\":[\"Show only synced libraries\"],\"UOMT7z\":[\"This option is disabled because it would calculate a schedule that is too long.\"],\"URmyfc\":[\"Details\"],\"UXC1jS\":[\"NodeJS: \",[\"0\"]],\"UYUgdb\":[\"Order\"],\"UYW9jU\":[\"Successfully ran system fixer \",[\"fixerId\"]],\"Uf/h/w\":[\"Pick specific programming to remove from the channel.\"],\"UirGxE\":[\"Errors\"],\"UnI8zh\":[\"Channel #\",[\"0\"]],\"UweSf9\":[\"Add Channel Redirect\"],\"V8B1wG\":[\"Last synced \",[\"0\"]],\"V9UVpb\":[\"Total hits: \",[\"0\"]],\"VBsY8N\":[\"Set to 0 to never delete backups\"],\"VIHbrI\":[\"Advanced options relating to transcoding. In general, do not change these unless you know what you are doing! These settings exist in order to leave some parity with the old dizqueTV transcode pipeline as well as to provide mechanisms to aid in debugging streaming issues.\"],\"VP2oPP\":[\"Slots\"],\"VVAgOP\":[\"Rescan Interval (hours)\"],\"VXdzY3\":[\"Disable Hardware Encoding\"],\"Va3xJe\":[\"Add field\"],\"VfWz27\":[\"Weight %\"],\"VlEnCC\":[\"Archive Format\"],\"VlWKwW\":[\"Lazy\"],\"Vmvp5H\":[[\"count\",\"plural\",{\"one\":[\"day\"],\"other\":[\"days\"]}]],\"VrBtVn\":[\"Backups:\"],\"Vw5EeW\":[\"Enable Backups\"],\"VyUuZb\":[\"Image URL\"],\"WAakm9\":[\"Delete Channel\"],\"WDgJiV\":[\"Scanner\"],\"WGkxNZ\":[\"Error querying Plex. Check console log and consider reporting a bug!\"],\"WKHqM+\":[\"Weight\"],\"WMQchs\":[\"Audio Buffer Size\"],\"WT1Ibn\":[\"Last run\"],\"Wb3E4g\":[\"Run now\"],\"Weq9zb\":[\"General\"],\"WhJZoS\":[\"Choose the transcode configuration to use for this channel. Configure transcode configurations on the <0>FFmpeg settings page.\"],\"WjUHH8\":[\"Movie Sort\"],\"WnW1QF\":[[\"block\"],\" Hours\"],\"WzNAIP\":[[\"0\",\"plural\",{\"one\":[\"Hour\"],\"other\":[\"Hours\"]}]],\"X0mSqw\":[\"Will force use of a software filters (e.g. scale, pad, etc.) despite hardware acceleration settings.\"],\"X9EHMa\":[\"Editing Smart Collection \\\"\",[\"0\"],\"\\\"\"],\"XDT85c\":[\"Media Sources\"],\"XIgmo9\":[\"Did not receive an accessToken or userId from Jellyfin server.\"],\"XNtsE7\":[\"Calculating Slots...\"],\"XNw99A\":[\"Software (No GPU)\"],\"XOgcN3\":[\"Filler List: \",[\"0\"]],\"XOuE6F\":[\"This could cause the following slot's programs to go unscheduled. Possible solutions include:\"],\"XSkU3F\":[\"* Restart required\"],\"XWYqJx\":[\"Duplicate Channel\"],\"XXwX66\":[\"Set the log level for the Tunarr server.<0/>Selecting <1>\\\"Use environment settings\\\" will instruct the server to use the <2>LOG_LEVEL environment variable, if set, or system default \\\"info\\\".\"],\"XePUKr\":[\"Test Transcode\"],\"XhWvkJ\":[[\"0\"],\" of \",[\"1\"],\" \",[\"2\"],\" exceed the length of this slot (\",[\"3\"],\"). Average program length: \",[\"4\"]],\"Xkppm4\":[\"Enable Watermark\"],\"Xm/WEQ\":[\"Channel Group\"],\"XsR2HX\":[\"Test Duration (seconds)\"],\"Xuml3I\":[\"By default, time slots are time of the day-based, you can change it to time of the day + day of the week. That means scheduling 7x the number of time slots. If you change from daily to weekly, the current schedule will be repeated 7 times. If you change from weekly to daily, many of the slots will be deleted.\"],\"XwU6BE\":[\"You haven't created any filler lists yet! Go to the <0>Filler Lists page to create one.\"],\"Y2ngGV\":[\"Add a Filler List\"],\"Y5XZLy\":[\"<0>Pad Slot: Align slot start times to the specified pad time.<1/><2>Pad Episode: Align episode start times (within a slot) to the specified pad time. <3>NOTE: Depending on slot length and the chosen pad time, this could potentially create a lot of flex.\"],\"Y84UgQ\":[\"Loudness Target\"],\"YAKCkm\":[\"An error occurred: \",[\"0\"]],\"YDlcs3\":[\"Shuffle Programming\"],\"YLUnu0\":[\"Test Playback\"],\"YN7vx3\":[\"Custom Show\"],\"YRQaPv\":[\"Last Synced\"],\"YRT1+e\":[\"Creates a new collection\"],\"YSptU0\":[\"Replicate...\"],\"YT5/eK\":[\"Media Source: \\\"\",[\"0\"],\"\\\"\"],\"YXwR3a\":[\"Restore default logo\"],\"YY/JN7\":[\" the following day.\"],\"YYLNVW\":[\"Insert breaks at these percentages of the program duration\"],\"YdIZFA\":[\"This channel number has already been used\"],\"Yf/Mtb\":[\"You're All Set!\"],\"Z10t2U\":[\"Removes repeated programs.\"],\"Z3FXyt\":[\"Loading...\"],\"Z4IQ8m\":[\"Channel Transcode Config\"],\"Z5IrB3\":[\"Open in \",[\"0\"]],\"Z6dMWq\":[\"Error while running system fixer \",[\"fixerId\"],\". Check server logs for details.\"],\"ZND/fh\":[\"Cannot be empty\"],\"ZNZzTe\":[\"Cannot disable libraries when they are locked\"],\"ZShzvn\":[\"\\\"\",[\"0\"],\"\\\" Live\"],\"ZWRt1W\":[\"Output Path\"],\"ZkdKVr\":[\"Redirect to Channel \",[\"0\"]],\"Zky8hA\":[\"The image will be rendered at its actual size without any scaling applied.\"],\"Zs2GWW\":[\"New Emby Media Source\"],\"Zul8Ry\":[\"never\"],\"Zvipe1\":[\"Editing Plex Server \\\"\",[\"0\"],\"\\\"\"],\"ZxwuFV\":[\"Deleting a Channel will remove all programming from the channel. This action cannot be undone.\"],\"a+Pr3s\":[\"Apply to Program Types (empty = all)\"],\"a4N/Bg\":[\"Load More\"],\"aE3UMm\":[\"<0>None: slots are picked in the order they are specified in the table (i.e. not randomly)<1/><2>Uniform: all slots have an equal chance to be picked.<3/><4>Weighted: each slot is picked with a specified probability\"],\"aOaCIk\":[\"Allow External\"],\"aScBGS\":[\"Add a filter expression to fine-tune results of the search\"],\"aSwfbR\":[\"Unit\"],\"ak3N0i\":[\"Item was not present during the last scan\"],\"aoLy25\":[\"Opacity\"],\"b0Uv6P\":[[\"0\",\"plural\",{\"one\":[\"Path\"],\"other\":[\"Paths\"]}]],\"b6sx4K\":[\"No active sessions\"],\"bDY29m\":[\"Logarithmic\"],\"bGG6B1\":[\"Jellyfin\"],\"bHNlfr\":[\"Increasing the slot duration.\"],\"bNEQeI\":[\"Cooldown\"],\"bORfbY\":[\"Cannot use a channel number <= 0\"],\"bPJiZF\":[\"Show: \",[\"0\"]],\"bSIBDb\":[\"Release Date (asc)\"],\"bm8pgG\":[\"Add group\"],\"boItSp\":[\"Delete Media Source?\"],\"buS8nL\":[\"Enable Subtitles\"],\"bxyuno\":[\"Override global audio and subtitle settings for this channel.\"],\"bydide\":[\"FFMPEG Log Method\"],\"c6fsNw\":[\"When enabled, intermittent watermarks fade in immediately when a stream is initialized. When disabled, the first watermark fade-in occurs after a full period.\"],\"cF5KzV\":[\"Edit Filler List\"],\"cFTdM+\":[\"Console\"],\"cHYx4E\":[\"Empty Trash\"],\"cLgGtf\":[\"Reset programming to most recently saved state\"],\"cN5Dty\":[\"No Programming scheduled\"],\"cOvZFM\":[\"Dynamic\"],\"cXkSYc\":[\"There was an error submitting the request to update Media Source settings. Please check the form and try again\"],\"caSM6R\":[\"This is used by iptv clients to categorize the channels. You can leave it as 'tunarr' if you don't need this sort of classification.\"],\"cgo+Ch\":[[\"remainingTime\"],\" left\"],\"cheWPw\":[\"Duplicates\"],\"cjX7aq\":[\"Are you sure you want to delete Smart Collection \\\"\",[\"0\"],\"\\\"?\"],\"cmKYIw\":[\"Overflow Behavior\"],\"cmlWKg\":[\"<0>Error deleting custom show: \",[\"0\"],\"<1/>Please consider opening a bug with details!\"],\"cnCAaO\":[\"Percentage-Based\"],\"cnGeoo\":[\"Delete\"],\"cv/ykT\":[\"Search Server URL:\"],\"cxrM1O\":[\"Connect Sources\"],\"d5zxa4\":[\"Local\"],\"d72gcv\":[\"Loudnorm Options\"],\"d9HhJj\":[\"This media source has no enabled or scanned libraries. Enable libraries for this source on the <0>Media Sources page or manually trigger scans on the <1>Library page.\"],\"d9Tsiy\":[\"Error updating channel.<0/>Check browser console for details\"],\"d9XR+x\":[\"Transcode Config <0> <1/>\"],\"dBV/FP\":[\"Lock Weights\"],\"dDX6oS\":[\"Videos from the filler list will be randomly picked to play unless there are cooldown restrictions to place or if no videos are short enough for the remaining Flex time.<0/>Each filler can be assigned a cooldown, which restricts how frequently the list will be chosen during flex time.\"],\"dEgA5A\":[\"Cancel\"],\"dH8AwH\":[\"Add Breaks\"],\"dK3Z9j\":[\"Component\"],\"dQvGiF\":[[\"0\",\"plural\",{\"one\":[\"#\",\" session\"],\"other\":[\"#\",\" sessions\"]}]],\"dScixt\":[\"Enable dark Mode\"],\"dUyQn5\":[\"On-Demand\"],\"daSf8d\":[\"Group episode programs by their show.\"],\"djpQ8z\":[\"Reload Stream\"],\"dkURuB\":[\"Tail Buffer (minutes)\"],\"dnCwNB\":[\"Successfully copied to clipboard!\"],\"eARDm/\":[[\"0\",\"plural\",{\"one\":[\"#\",\" season\"],\"other\":[\"#\",\" seasons\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" total episode\"],\"other\":[\"#\",\" total episodes\"]}]],\"eEpDfJ\":[\"Will force use of a software decoder despite hardware acceleration settings.\"],\"eNorwJ\":[\"Programs Too Long\"],\"ePK91l\":[\"Edit\"],\"eSsduj\":[\"VA-API Device\"],\"eZTFiP\":[\"Review Selections\"],\"eZe0fr\":[\"Audio Channels\"],\"ecUA8p\":[\"Today\"],\"efuwN9\":[\"These settings are stored in your browser and are saved automatically when changed.\"],\"eg6m1K\":[\"Edit Transcode Config: \\\"\",[\"0\"],\"\\\"\"],\"ep+NHZ\":[\"If you proceed, all unsaved changes will be lost. Are you sure you want to proceed?\"],\"et+mIi\":[\"Troubleshoot\"],\"euChZN\":[\"Cyclic Shuffle\"],\"euc6Ns\":[\"Duplicate\"],\"exYcTF\":[\"Library\"],\"eyRsaH\":[\"Root\"],\"f0w0IC\":[\"Leave blank to use the channel's icon.\"],\"f6Hub0\":[\"Sort\"],\"f6pgxW\":[\"Temporarily caches responses from Plex based by request path. Could potentially speed up channel editing.\"],\"f7DWm5\":[\"Need at least one path\"],\"fD+lMD\":[\"Select the port the Tunarr server will listen on. This requires a server restart to take effect.\"],\"fI+mNw\":[\"Playlists\"],\"fJfo1A\":[\"Server Path\"],\"fN4bgn\":[\"Delete Filler List \\\"\",[\"0\"],\"\\\"?\"],\"fQ9phi\":[\"Remove All\"],\"fSRZCh\":[\"Restore Default Settings\"],\"fU1065\":[\"Mid-Roll\"],\"fWj7Tt\":[\"Shuffle programming in a channel, optionally grouping programs by certain criteria.\"],\"fcqkKg\":[\"Not found!\"],\"fsBGk0\":[\"Balance\"],\"ftF4U5\":[\"Show Advanced\"],\"fxTyFe\":[\"This slot is linked with \",[\"0\"],\" other \",[\"1\",\"plural\",{\"one\":[\"slot\"],\"other\":[\"slots\"]}],\"Content fields are shared across the group.\"],\"fyo+NB\":[\"The End.\"],\"fzWV5a\":[\"Sort TV Shows (desc)\"],\"g2Pro3\":[\"Reset changes made to the channel's lineup\"],\"g6LxbB\":[\"Break Interval (minutes)\"],\"g7LzUS\":[\"Install FFMPEG\"],\"gBx20d\":[\"Custom Program\"],\"gH5Gbn\":[\"Shuffle\"],\"gJrGqR\":[\"FFmpeg version 7.1+ recommended. Check your current version in the sidebar\"],\"gL9DoB\":[\"Programs shorter than this value will be treated the same as Flex time. Meaning that the TV Guide will try to meld them with the previous program or display the block of programs as the \\\"place holder program\\\" if they make a large continuous group. Use 0 to disable this feature or use a large value to make the channel report only the placeholder program and not the real programming.\\n\",[\"0\"]],\"gR/hgc\":[\"Error Audio\"],\"gcD6jw\":[\"Hide watermark during filler\"],\"gf/bM4\":[\"Continue with New Content\"],\"gg9/ya\":[\"Remove \",[\"count\"],\" \",[\"0\"]],\"ghGSuE\":[\"Ensures programs have a nice-looking start time, it will add Flex time to fill the gaps.\"],\"glVpbE\":[\"Eager\"],\"h/qU8b\":[\"Override the default \",[\"0\"],\" device path (defaults to <0>/dev/dri/renderD128 on Linux and blank otherwise)\"],\"h4yKYk\":[\"Next run\"],\"h8WhoR\":[\"Slot Scheduler\"],\"hBGuBW\":[\"Use channel default\"],\"hBzeL7\":[\"Time before first break\"],\"hG89Ed\":[\"Image\"],\"hISVAG\":[\"Media Sources are where Tunarr sources your content. Media can come from your filesystem or a remote server, like Plex or Jellyfin. At least one Media Source is necessary to create channels and play media in Tunarr.\"],\"hQRttt\":[\"Submit\"],\"hQSabA\":[\"TO\"],\"hXfj39\":[\"Audio Sample Rate\"],\"hXzOVo\":[\"Next\"],\"hYgDIe\":[\"Create\"],\"he3ygx\":[\"Copy\"],\"hehnjM\":[\"Amount\"],\"hhukVU\":[\"Trashed items are items that were previously scanned, but not found in a recent scan. This could be due to missing files or a media server no longer returning the item from its API. These items will be unplayable in channels in their current state. When the trash is emptied, their spots in channels will be replaced with flex.\"],\"hjerov\":[\"Guide Start Time\"],\"hlIKor\":[\"None:\"],\"hnFEC+\":[\"Initial Delay + Interval\"],\"hrdWlG\":[\"Add Show\"],\"hvo+jE\":[\"Add point (%)\"],\"i1+yww\":[\"FFprobe version 6.0+ recommended. Check your current version in the sidebar\"],\"i2QuB6\":[\"Error Screen\"],\"i9rcQ/\":[\"Movies\"],\"iH8pgl\":[\"Back\"],\"iQWhqk\":[\"FFMPEG is installed. Detected version \",[\"0\"]],\"iTjV+L\":[\"A-Z (desc)\"],\"ih+n6S\":[\"Linear\"],\"ihCTE6\":[\"Error occurred while loading channels, please try again soon.\"],\"ihn4zD\":[\"Search…\"],\"ilkCYA\":[[\"0\",\"plural\",{\"one\":[\"Selected Item\"],\"other\":[\"Selected Items\"]}]],\"imrPBy\":[\"Watermark Image URL\"],\"isC0OF\":[\"Use these settings to override global ffmpeg settings for this channel.\"],\"isRobC\":[\"New\"],\"isyw73\":[\"Auto uses the time convention for the selected language.\"],\"jETaUB\":[\"Buffer size effects how frequently ffmpeg reconsiders the output bitrate. <0>Read more\"],\"jHjfnS\":[\"Add filler\"],\"jZlrte\":[\"Color\"],\"jl3Q84\":[\"Create a Channel\"],\"jz1oG0\":[\"Selected Audio\"],\"k6TRai\":[\"FFMPEG transcoding is required for some features like channel overlay, subtitles, and measures to prevent issues when switching episodes.\"],\"kAidIP\":[\"Failed to load feature flags.\"],\"kBJRjR\":[\"Download all logs\"],\"kIYDzY\":[\"Successfully updated Media Source settings.\"],\"kKgsI0\":[\"<0>Configure the directory where Tunarr writes HLS segment files when transcoding. Tunarr will create the target directory (but not intermediate directories) if it doesn't exist.<1/>Changing this field will only affect new sessions. Existing sessions will continue writing to the previous setting, but will clean out segments when the segment ends.<2/>When unset, Tunarr will write segments to its current working directory.\"],\"kKk153\":[\"Load Stream\"],\"kO0aVB\":[\"Break Duration (minutes)\"],\"kThBL9\":[\"Sample rate cannot be changed when copying input audio\"],\"kdkZBD\":[\"Increment\"],\"kii1WH\":[\"Programming Preview\"],\"kolyzq\":[\"This \",[\"0\"],\" is marked as missing in the database.\"],\"kpfZ0g\":[\"Minimum Program Duration (minutes)\"],\"kq6sAD\":[\"Add TV Shows or Movies to filler\"],\"ksFZi3\":[\"<0>Experimental: Enable Plex Request Cache\"],\"kvMAno\":[\"Web Settings\"],\"l/UFPv\":[\"Properties\"],\"l0VyMh\":[\"Flex\"],\"l15zKW\":[\"All Set!\"],\"lBADOx\":[[\"count\",\"plural\",{\"one\":[\"#\",\" episode\"],\"other\":[\"#\",\" episodes\"]}]],\"lC2oeQ\":[\"Max Duration (minutes)\"],\"lCF0wC\":[\"Refresh\"],\"lIUgjN\":[\"Error copying channel m3u link to clipboard\"],\"lJSUC1\":[\"Watermark\"],\"lKCfnI\":[\"Audio Language Preferences\"],\"lS14fB\":[\"Theme Settings\"],\"lW3FB1\":[\"Download last \",[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"#\",\" row\"],\"other\":[\"#\",\" rows\"]}]],\"lWmRHf\":[\"Time Slots...\"],\"lZMqZ5\":[\"If enabled, TV show episodes will use the poster of their show, instead of the individual episode poster.\"],\"laQT4o\":[\"Thumbnail URL\"],\"lfFsZ4\":[\"Channels\"],\"lkz6PL\":[\"Duration\"],\"llDXYJ\":[\"Backups\"],\"lnABVQ\":[\"Run Troubleshooter\"],\"m+8qnB\":[\"Library: \",[\"0\"]],\"m0Gp21\":[\"Select a program and channel to test playback. The troubleshooter will analyze stream selection, build the FFmpeg pipeline, and run a short test transcode.\"],\"m16xKo\":[\"Add\"],\"m48LOH\":[\"Hardware Acceleration\"],\"mCB6Je\":[\"Select All\"],\"mDcLzR\":[\"Caching\"],\"mF+u2B\":[\"Don't see the library you want here? Ensure it is enabled in the <0>Media Source Settings.\"],\"mGM6Aa\":[\"Custom Shows are sequences of videos that represent a episodes of a virtual TV show. When you add these shows to a channel, the schedule tools will treat the videos as if they belonged to a single TV show.\"],\"mHTMS1\":[\"Normalize Frame Rate\"],\"mQt7fl\":[[\"count\",\"plural\",{\"one\":[\"program\"],\"other\":[\"programs\"]}]],\"mRWiYM\":[\"Duration (seconds)\"],\"mWbpso\":[\"Max Backups\"],\"mYBORk\":[\"Movie\"],\"mYJG1x\":[\"Your list will be replicated \",[\"0\"],\" times\"],\"mZFYjJ\":[\"Error saving programs. \",[\"0\"]],\"mZFr14\":[\"HLS not supported in this browser!\"],\"md42bg\":[\"Transcode Config (optional override)\"],\"mgcp8D\":[\"How often to insert a break\"],\"migeCK\":[\"Filter which subtitle tracks are considered<0/><1>Any: All subtitle tracks are considered <2/><3>Forced: Only consider <4>\\\"forced\\\"subtitle tracks <5/><6>Default: Only consider default subtitle tracks <7/><8>None: Do not select any subtitles\"],\"mtQjGe\":[\"Configure subtitle preferences. Preferences are evaluated in order of priority. The first matching subtitle stream on a program will be used.\"],\"mvU6s8\":[\"Sort TV Shows\"],\"mwtge0\":[\"Started \",[\"startedAgo\"],\" - \",[\"remainingTime\"],\"remaining\"],\"n+7HJk\":[\"When file paths on the remote server differ from the paths Tunarr can see, use Path Replacements to instruct Tunarr how to stream media from disk.\"],\"n9nSNJ\":[\"Time format\"],\"nH6YaM\":[\"Other Videos\"],\"nSW2Lv\":[[\"days\",\"plural\",{\"one\":[\"#\",\" day\"],\"other\":[\"#\",\" days\"]}]],\"nV6twc\":[\"Organize\"],\"nYD/Cq\":[\"Ascending\"],\"nZXc7r\":[\"Unlink from group\"],\"nfAddt\":[\"FFmpeg Transcode Path\"],\"nfxRnc\":[\"Tunarr is currently configured to use the AC3 audio encoder. This audio format is not supported by browsers. The resultant stream will likely not have audio or will not play at all.\"],\"njIcYs\":[\"Save as new collection…\"],\"ntJ9rt\":[\"HLS Direct Output Format\"],\"nzDzPp\":[\"toggle access token visibility\"],\"o0+Ul2\":[\"Add Flex\"],\"o2Ucvk\":[\"Libraries\"],\"o6OQlp\":[\"Edit Channel\"],\"o7J4JM\":[\"Filter\"],\"o7Y4WO\":[\"Error saving new Emby server. See browser console and server logs for details\"],\"oADXRC\":[\"Calculated \",[\"humanizedDuration\"],\" (\",[\"numShows\"],\" programs) of programming in \",[\"duration\"],\"ms\"],\"oCHfGC\":[\"Level\"],\"oCpfQF\":[\"This feature is currently experimental. Proceed with caution and if you experience an issue, try disabling caching.\"],\"oEZmaP\":[[\"count\",\"plural\",{\"one\":[\"#\",\" season\"],\"other\":[\"#\",\" seasons\"]}]],\"oMA2jd\":[\"Removes any specials from the schedule. Specials are episodes with season '00'.\"],\"oPWgse\":[\"Maximum number of breaks per program (0 = unlimited)\"],\"ofUcbc\":[\"Random\"],\"oihuQr\":[\"Number of Replications\"],\"ousf2V\":[\"Random…\"],\"ovBPCi\":[\"Default\"],\"oxvBx3\":[\"If set, any programming group with fewer episodes will be looped in order to make perfectly even blocks.\"],\"p/78dY\":[\"Position\"],\"p/KgUp\":[\"The channel's regular programming between the specified hours. Flex time will fill up the remaining hours.\"],\"p04z/V\":[\"# Programs\"],\"p4XZFD\":[\"Local Path\"],\"pDwcFl\":[\"Save Smart Collection\"],\"pKYBXC\":[\"Last Scheduled Execution\"],\"paEQ75\":[\"\\\"Stealth\\\" channels are hidden from TV guides, spoofed HDHR, m3u playlist, etc. The channel can still be streamed directly or be used as a redirect target.\"],\"pcRxi1\":[\"How frequently libraries should be scanned (starting from midnight).\"],\"pdlmIS\":[\"<0>Error deleting filler list: \",[\"0\"],\"<1/>Please consider opening a bug with details!\"],\"pkERVr\":[\"Download JSON\"],\"pqarBu\":[\"Asc\"],\"pvnfJD\":[\"Dark\"],\"pwPreK\":[\"Restrict Hours\"],\"pxh+PI\":[\"Builder\"],\"q6GKgP\":[\"VAAPI Capabilities\"],\"q6nlo/\":[\"Subtitle Action\"],\"q9p3Xw\":[\"Bitrate cannot be changed when copying input audio\"],\"qAGp2O\":[\"Proceed\"],\"qG6T/X\":[\"Add Programming\"],\"qKNcv7\":[\"Generating Bug Report Link...\"],\"qV9xkb\":[\"Passthrough audio unchanged. Other settings will not apply.\"],\"qiXmlF\":[\"Add Media\"],\"qjW34v\":[\"This channel is set up to use <0>\",[\"0\"],\"Slots for programming. Any manual changes on this page will likely make this channel stop adhering to that schedule.\"],\"qlR1dD\":[\"Delete Channel \\\"\",[\"0\"],\"\\\"?\"],\"qs/mhD\":[\"Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate.\"],\"r3ptXC\":[\"Manually add an access token from your Jellyfin server\"],\"r9sc/0\":[\"Duration must be numeric\"],\"rAx5u1\":[\"End Time\"],\"rPEEWz\":[\"Successfully saved config!\"],\"rSZlvN\":[\"Programming Start\"],\"rhEkXj\":[\"Head\"],\"rl/8FN\":[\"Commit\"],\"rnbEQB\":[\"Copy M3U URL\"],\"roIf2/\":[\"On-Demand?\"],\"rtDDIV\":[\"Edit Slot\"],\"ru5qTc\":[\"Edit Media Source\"],\"rx5Ria\":[\"All lists are used\"],\"rxumR2\":[\"Match any of\"],\"s2OE0W\":[\"Enter a name for your Jellyfin Server\"],\"s4iETe\":[\"Transcode Config\"],\"s6lNC3\":[\"Fallback Mode\"],\"s8zbIS\":[\"Include Seasons\"],\"sA8Jt7\":[\"This slot replays content aired by continue slots earlier in the period.\"],\"sBJ5MF\":[\"Sources\"],\"sNnXh6\":[\"Order of programming within the slot\"],\"sUtIRs\":[\"about \"],\"sVVcvs\":[\"Experimental Features\"],\"sfbjgG\":[\"Audio Format\"],\"sxkWRg\":[\"Advanced\"],\"sxwNOp\":[\"Logs Directory:\"],\"sztQMJ\":[\"Programs a Flex time slot. Normally you'd use pad times, restrict times or add breaks to add a large quantity of Flex times at once, but this exists for more specific cases.\"],\"t/YqKh\":[\"Remove\"],\"t3hvHq\":[\"Sync Now\"],\"t5q6kk\":[\"For more details on manually retrieving a Plex token, see <0>here\"],\"t6+QCF\":[[\"count\"],\" \",[\"programLabel\"],\", \",[\"0\"]],\"t8Hzw3\":[\"Cyclic Shuffle randomly shuffles groups of programming.\"],\"tDuQbQ\":[\"Stream Mode\"],\"tEvsql\":[\"Subtitles\"],\"tH1aCG\":[\"Video Bitrate\"],\"tMxWK0\":[\"Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks. For example, you can use this to ensure that all your programs start at either XX:00 times or XX:30 times. Removes any existing Flex periods before adding the new ones. This button might be disabled if the channel is already too large.\"],\"tPGTPB\":[\"Roll the log file on a fixed schedule, regardless of file size.\"],\"tRgOE5\":[\"Balance Programming\"],\"tXkhj/\":[\"Start\"],\"tXub8j\":[\"Display Watermark on Leading Edge\"],\"tYuxvA\":[\"FFMPEG\"],\"tfDRzk\":[\"Save\"],\"tgPwON\":[\"Operator\"],\"ti6ugP\":[\"Error while saving transcode config. See console log for details.\"],\"tkDYSE\":[[\"hours\",\"plural\",{\"one\":[\"#\",\" hour\"],\"other\":[\"#\",\" hours\"]}]],\"tlMRNb\":[\"The loaded version of the Tunarr UI does not match the server. Reload the browser to get the latest. If this message persists, clear your browser cache and reload.\"],\"tlNobE\":[\"Custom Show: \",[\"0\"]],\"tlmh8e\":[\"Add all selected programs to channel\"],\"tsqRRB\":[[\"0\"],\" Poster\"],\"ty8rVI\":[\"Now Playing:\"],\"tzwArf\":[\"View in \",[\"0\"]],\"u+VWhB\":[\"Copied to clipboard!\"],\"u+zFIr\":[\"Restrict search fields\"],\"uAQUqI\":[\"Status\"],\"uHTa9V\":[\"To use Tunarr, you need to first connect a media source. This will allow you to build custom channels with your content.\"],\"uLiDe/\":[\"Enable embedded subtitle extraction\"],\"uUTf8r\":[\"Delete Custom Show \\\"\",[\"0\"],\"\\\"?\"],\"uamufO\":[\"Add TV Shows or Movies to programming list.\"],\"ueG1bp\":[\"Program Count\"],\"ueLbrY\":[\"If true, adjusting the weight of one slot will scale the weights of other slots such that all weights total 100%. Otherwise, weights can be adjusted freely and the weight of each slot is only relative to the total weight.\"],\"uixVel\":[\"By default, saves backups in the server's run directory, or, if running in Docker, to /config/tunarr/backups\"],\"uyR9ei\":[\"Block Shuffle\"],\"v4nbQ4\":[\"If no more programs can fit into a duration-based slot, flex time is added to fill the gap. This setting determines how flex is added <0>within the slot to ensure all time is filled.<1/><2>Between: Flex time is added between videos within a slot, if there are multiple<3/><4>End: Flex time is added at the end of the slot\"],\"v5IstB\":[\"after every program\"],\"v5URfV\":[\"Like Random Shuffle, but tries to preserve the sequence of episodes for each TV show. If a TV show has multiple instances of its episodes, they are also cycled appropriately.\"],\"vAK/B1\":[\"Audio Action\"],\"vCBet9\":[\"Not a valid number\"],\"vERlcd\":[\"Profile\"],\"vGRvxs\":[\"Channel group is required\"],\"vLf7qg\":[\"Interval (minutes)\"],\"vSJd18\":[\"Video\"],\"vU/Hht\":[\"Distribution\"],\"vXIe7J\":[\"Language\"],\"vcvFVw\":[\"Escape Hatches\"],\"vkA4W/\":[\"Source Type\"],\"vn3SVH\":[\"Could not parse this filter expression. Check the <0>documentation for information about filter expressions.\"],\"vreTxe\":[[\"count\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"vwFKu0\":[\"Cast & Crew\"],\"vyL1gO\":[\"Release Date (desc)\"],\"w/bY7R\":[\"Logs\"],\"w2pCRr\":[\"Show:\"],\"w3KBq0\":[\"Allows programs to play a bit late if the previous program took longer than usual. If a program is too late, Flex is scheduled instead.\"],\"w3g+lo\":[\"Let's get started...\"],\"wBmIEf\":[\"Number of hours to include in the XMLTV file\"],\"wBo/7A\":[\"Error while scheduling \",[\"taskId\"],\". Check server logs for details\"],\"wKClDM\":[\"Adds a channel redirect. During this period of time, the channel will redirect to another channel.\"],\"wMHvYH\":[\"Value\"],\"wOUKOZ\":[\"Max True Peak\"],\"wZOYCY\":[\"Video Format\"],\"wdfBIP\":[\"Sort By...\"],\"wdxz7K\":[\"Source\"],\"wkQ2tb\":[\"Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks.\"],\"wlYdUk\":[[\"count\",\"plural\",{\"one\":[\"hour\"],\"other\":[\"hours\"]}]],\"wpT1VN\":[\"Condition\"],\"wtuVU4\":[\"Frequency\"],\"wwu18a\":[\"Icon\"],\"x+AjXa\":[\"Channel Fallback\"],\"x/dwZe\":[\"Enable if the watermark is an animated GIF or PNG. The watermark will loop according to the image's configuration. If this option is enabled and the image is not animated, there will be playback errors.\"],\"x1tGMH\":[\"Override how programs within this slot are padded.\"],\"x6/Zc6\":[\"Tail\"],\"x63PSs\":[\"Search for shows\"],\"x7PDL5\":[\"Logging\"],\"xCJdfg\":[\"Clear\"],\"xDAtGP\":[\"Message\"],\"xDPFrK\":[\"Scan \",[\"0\"]],\"xGVfLh\":[\"Continue\"],\"xGYZfl\":[\"Edit Libraries\"],\"xIn7qU\":[\"Disable Hardware Decoding\"],\"xJIepX\":[\"Default Config\"],\"xOkMus\":[\"Hardware Accel.\"],\"xPmesF\":[\"Loudness Range Target\"],\"xQC5se\":[\"Advanced Video Options\"],\"xXrtPO\":[\"Failed to load item details! Check logs for details\"],\"xazqmy\":[\"Seasons\"],\"xbtgIC\":[\"HW Acceleration\"],\"xdA/+p\":[\"Tools\"],\"xmBknQ\":[\"Filler Lists\"],\"xptXTM\":[\"Select Artists to Remove\"],\"xqIrnW\":[\"Library Clip (not yet implemented)\"],\"xu3Kah\":[[\"0\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"y28hnO\":[\"Post\"],\"y4Jmre\":[\"Break Duration\"],\"y4iKY3\":[[\"count\",\"plural\",{\"one\":[\"#\",\" album\"],\"other\":[\"#\",\" albums\"]}]],\"y5x0aB\":[[\"0\"],\" Info\"],\"y7wpam\":[[\"value\",\"plural\",{\"one\":[\"#\",\" program\"],\"other\":[\"#\",\" programs\"]}]],\"yDUcwc\":[\"Manually add an access token from your Emby server\"],\"yPE51X\":[\"Configure transcoding settings for Tunarr's streams. Each channel is assigned one transcode configuration.\"],\"yPK7+5\":[\"Auto-Update Guide\"],\"yQE2r9\":[\"Loading\"],\"yRkqG9\":[\"Limit\"],\"yX8Rkw\":[\"Add All\"],\"yftDqj\":[\"New Filler List\"],\"yjzkvk\":[\"Stop Transcode Session\"],\"ysJk7v\":[\"Movie Sort Order\"],\"ysecYP\":[\"Search for a program\"],\"ytXxnP\":[\"Forced\"],\"yz/C2/\":[\"Rerun\"],\"yz7wBu\":[\"Close\"],\"z4K9d+\":[\"Roll based on size\"],\"z61uNR\":[\"Add Flex Time\"],\"zV6tsp\":[\"Consolidate\"],\"zV9awV\":[\"Force Scan\"],\"zpylsE\":[\"Transcoding Settings\"],\"zrmjn/\":[\"Max Duration\"],\"zthKEs\":[\"The streaming mode affects the type of underlying transcoding process used to create the channel's video stream.<0/>Learn more about Tunarr's stream modes <1>here!\"],\"zvjEp6\":[\"Filler cooldown must be a number\"],\"zx4BuL\":[\"Week\"],\"zyLvkd\":[\"Category Log Levels\"]}")as Messages; \ No newline at end of file + import type { Messages } from '@lingui/core'; +export const messages = JSON.parse( + '{"++nzCr":["Bit Depth"],"+2JHIs":["Link to existing slot"],"+406Vu":["View Full Details"],"+4YwQF":["# of Programs"],"+4mjS6":["Remove icon"],"+9EErD":["Music Videos"],"+DmLct":["Programs"],"+SA5Ao":["A root path to scan for media. Local sources can search many different paths."],"+TZiPJ":["Server is unreachable"],"+UPOiB":[["count","plural",{"one":["min"],"other":["mins"]}]],"+Xg5cX":["Filler is picked fresh at stream time like Flex time. The guide shows \\"Commercial Break\\" placeholders."],"+YdE7b":["Enable rolling log files using time and/or size based criteria"],"+hl/7A":["Channels configured to use the HLS Direct stream mode will output in the selected container format."],"+k9lxR":["Enter a name for your Local Media Source"],"+mdNfU":[["count","plural",{"one":["#"," track"],"other":["#"," tracks"]}]],"+suWTj":["Adds Flex breaks between programs, attempting to avoid groups of consecutive programs that exceed the specified number of minutes."],"+tlhMz":["Plex (Manual)"],"+yEE7s":["New Media Source"],"+yOcRn":["HDHR"],"+ya1pX":["Delete Slot"],"+zY9Xc":["Configure Cyclic Shuffle"],"+zy2Nq":["Type"],"/+ZaFm":["Soundtrack"],"/4gGIX":["Copy to clipboard"],"/6iIT9":["Settings Saved!"],"/DTWjr":["Congrats, you\'re ready to start building channels! Just click Finish below to start working on your first channel."],"/QmYEW":["Balance..."],"/TEOcd":["Presets"],"/e88IO":["Schedule programming in blocks that are either count or duration based. Can be used to generate random schedules."],"/gavzH":["Basic button group"],"/j3jjC":["Error while saving settings. Please check console for details."],"/n/HCO":["Keywords"],"/rTz0M":["Audio"],"/vJase":["Streaming"],"09gg05":["Programming"],"0IAEaX":["Match"],"0MWZh1":["Search is currently scoped to this Media Source Library."],"0VHz2s":["Filler Options"],"0cULRy":["Experimental: Make perfect schedule loop"],"0dy9K6":["Read Less"],"0mEBXY":["Delete Transcoding Config \\"",["0"],"\\"?"],"0wJVK+":["Basic"],"0zpgxV":["Options"],"1/dAym":["Grouping works as follows:"],"14PdY0":["Config"],"1AdBl9":["Break Positioning"],"1BDPP1":["Looks like something went wrong."],"1BGQfg":["Alphabetically"],"1CFAQ+":["Set by environment variable"],"1DxLRi":["No programming scheduled for this time period"],"1PQRWr":["Start Time"],"1QfxQT":["Dismiss"],"1TYXl0":["Enter your Emby password to generate a new access token."],"1V3Prt":["Deleting a Filler will remove all programming from the channel. This action cannot be undone."],"1Z90J4":["Days to Precalculate"],"1hKEom":["Priority"],"1jqDmP":["Successfully scheduled ",["taskId"]," (running in background)."],"1njn7W":["Light"],"2BBAbc":["List"],"2BRPyl":["System Info"],"2CVuYr":["Smart Collection - ",["0"]],"2L7cj6":["You haven\'t created any channels yet."],"2QLniG":["Existing query: ",["filterString"]],"2eFlmt":["Tracks"],"2hOCU2":["Smart Collections"],"2imNg3":["Web version = ",["0"],", Server version = ",["1"]],"2mAJXf":["Makes multiple copies of the schedule and plays them in sequence. Normally this isn\'t necessary, because Tunarr will always play the schedule back from the beginning when it finishes. But creating replicas is a useful intermediary step sometimes before applying other transformations. Note that because very large channels can be problematic, the number of replicas will be limited to avoid creating really large channels."],"2oWehJ":["Reset to current date/time"],"2vxecF":["Show Stealth"],"2x4THe":["\\"",["0"],"\\" Sessions"],"312fSE":["Select Shows to Remove"],"315BhT":["Alphabetical"],"3JIYke":["Healthy?"],"3JQkm5":["Path Replacements"],"3JjdaA":["Run"],"3LfNqe":["Channel Number"],"3SH6Vv":["Copied channel \\"",["channelName"],"\\" m3u link to clipboard"],"3YNjnA":["System Environment"],"3b1vGb":["New Local Media Source"],"3mAQJI":["How often the XMLTV file is regenerated"],"3nLdaX":["Add ",["0"]],"3nwcC5":["Filler - ",["0"]],"49dCCB":["Use Show Poster"],"4Fpcxu":["Initial Delay (minutes)"],"4NbDEd":["Deleting a Custom Show will remove its programming from channels that use it. This action cannot be undone."],"4Uc/2h":["Server Listen Port"],"4VxpoP":["Music tracks are grouped by artist"],"4XSc4l":["Weekly"],"4XfYeY":["Random (by show)"],"4fLgiT":["Allow Image Based"],"4qmJK4":["Tunarr Backend URL"],"4wkwyL":["Disable Hardware Filters"],"4yQF++":["Custom show programs are grouped by their parent show"],"50whWJ":["XMLTV Link:"],"53/4tH":["Audio Options"],"536Xwe":["Error copying to clipboard!"],"53tfay":["This allows to schedule specific shows to run at specific time slots of the day or a week. It\'s recommended you first populate the channel with the episodes from the shows you want to play and/or other content like movies and redirects."],"5ABghp":["FFmpeg Settings"],"5V93hk":["Schedule programming using slots assigned a start time and duration."],"5WeWGz":["Selected Subtitle"],"5jWg+L":["Tunarr will attempt to get Plex to pull Tunarr\'s updated XMLTV upon regeneration"],"5k0NLb":["Review"],"5lSgNP":["Enable SSDP server"],"5nsbxB":["Alternates TV shows in blocks of episodes. You can pick the number of episodes per show in each block and if the order of shows in each block should be randomized. Movies are moved to the bottom."],"5qV3NN":["Flex Style"],"5yIPLp":["Oops!"],"6/dCYd":["Overview"],"63/DSM":["Transcoding Configs"],"63driG":["Stream JSON"],"67RoFa":["Pipeline"],"6Y9c2m":["This slot is linked with ",["0"]," other slot(s). Content fields are shared across the group."],"6YtxFj":["Name"],"6ZMWKw":["XMLTV"],"6bbWRs":["Add programming to custom show"],"6dvIbw":["Unlink"],"6jAi8c":["Range"],"6jfS51":["Welcome"],"6ki7F2":[["0","plural",{"one":["#"," item"],"other":["#"," items"]}]],"6mJ9tF":["FFMPEG is not detected."],"6mpwdR":["Match all of"],"6pL6be":["Configure what appears on your channel when there is no suitable filler content available. Using channel fallbacks requires ffmpeg transcoding."],"6w0yiE":["FFMPEG Log Level"],"6zfUar":["Stream Selection"],"71O7b0":["Media Info"],"73XwX0":["No programs selected"],"73flfT":["QSV Device"],"7B3lfh":["Items from any filler list will not be chosen more frequently than this cooldown setting."],"7LWPgS":["Enabled (loudnorm)"],"7ODkf5":["Log level to pass to ffmpeg. Read more about ffmpeg\'s log levels <0>here"],"7Q5AKf":[["count","plural",{"one":["track"],"other":["tracks"]}]],"7b2stB":["Media Type"],"7eMo+U":["Go Home"],"7eZlTH":["Sort TV Shows (asc)"],"7iJlKU":["Please choose a value greater than 1"],"7pMNGK":["Programs saved!"],"7sNhEz":["Username"],"7tvV2B":["Min Duration (minutes)"],"7uohY3":["TV shows are grouped by show"],"80t7Ii":["Increasing \\"Max Lateness\\" for the schedule."],"87a/t/":["Label"],"8E9KXK":["Feature flags saved!"],"8MIU1T":["Program"],"8TMaZI":["Timestamp"],"8ZsakT":["Password"],"8vETh9":["Show"],"8wngZM":["Fallback"],"8wu9lr":["Queued"],"9+90+V":["Enable Log File Rolling"],"94qSvE":["Synced with external playlist"],"96zw7M":["This show is marked as missing in the database."],"983IRa":["All linked slots show the same episode, advancing only after all have played."],"9E+eyD":["Output video at a constant frame rate."],"9E9tRC":["Fill with Flex"],"9Eq43e":["If set, all watermark overlays will be disabled for channels assigned this transcode config."],"9GPYnX":["Do not group programs at all. Normal shuffle."],"9WG5wy":["Specials"],"9asVsi":["How long each commercial break lasts"],"9qdNKR":["Error Options"],"9sqrEU":["Filler List"],"9td1Wl":["Check"],"9vtG84":[" Scheduling Strategy"],"A+GCyx":["Hide Advanced"],"A0+T6c":["Reset Changes"],"A1taO8":["Search"],"A7WmPm":["New Plex Server"],"A9Rhec":["Channel Name"],"ACKu03":["Refresh Preview"],"AKjNTL":["Add Padding"],"AM972O":["Add Redirect"],"ANICN0":["No media sources connected."],"AO2Z5d":["Movie, ",["0"]],"AOHgZp":["Episodes"],"AVKoQM":["Redirect to \\"",["0"],"\\""],"AXg7m0":["Search is currently scoped to this Media Source."],"AXjA78":["Field"],"AdfhAd":["If there are issues playing a video, Tunarr will try to use an error screen as a placeholder while retrying loading the video every 60 seconds."],"AdogaJ":["Pipeline Steps"],"AlfqgK":["Watch"],"ApsQAb":["HDHR: Loading..."],"AyInY5":["Video Options"],"AzCYkg":["Connect Media Sources"],"B+HsXP":["FFMPEG: ",["0"]],"B1NOvD":["Removes all programs from schedule"],"B1W8vw":["Delete \\"",["0"],"\\""],"BGHH1t":["Min. Visible in Guide Duration Program (seconds)"],"BJjJuo":["EPG (Hours)"],"BMlGCC":["Click to preview the items in this Custom Show. Note that only the whole show can be added at once."],"BQsifH":["Stream Info"],"BWTzAb":["Manual"],"BXXjCD":["FFmpeg not found. For all features to work, we recommend installing FFmpeg 7.1+ or update your FFmpeg executable path in settings."],"BaUuhR":["Codec"],"BlmmxH":["FFmpeg Log"],"Bq0ryo":["Reset Options"],"BtL93c":[["0","plural",{"one":["#"," source connected."],"other":["#"," sources connected."]}]],"C4KL42":["Consolidates contiguous match flex and redirect blocks into singular spans"],"C6jEO3":["Log Level"],"CAiikc":["Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token."],"CJkEfx":["Block"],"CKQ3t3":["Total Runtime"],"CMQ09J":["Scanning"],"COv7As":["Cooldown (seconds)"],"CRsuq4":["Every"],"CVqySE":[["len","plural",{"one":["There is ","#"," warning. Click for details."],"other":["There are ","#"," warnings. Click for details."]}]],"CWRFGq":["Modify Programming"],"CXDHcv":["Grid"],"CcX8VV":["Completely randomizes the order of programs."],"CeyB7O":["FFmpeg Executable Path"],"CfOWar":["Logarithmic decay, lighter weighting."],"CfUvtM":["Error saving new Smart Collection. Check server logs and browser console for details."],"CfxLtO":["Program JSON"],"Cko536":["Descending"],"Cp5Awv":["Duration must be greater than 0."],"CqSP2T":["Edit Channel Redirect"],"CsrDsg":["12-hour"],"Cxqf0C":["Plex (Auto)"],"D+NlUC":["System"],"D1Fhv3":[["count","plural",{"one":["episode"],"other":["episodes"]}]],"DPfwMq":["Done"],"DRya1t":["Audio Volume"],"DSwJ9W":["Enable Animation"],"DUd3Ss":["Sorts the list by TV Show and the episodes in each TV show by their season/episode number. Movies are moved to the bottom of the schedule."],"DbouLP":["Back to Programming"],"Dd9orS":["Remove All ",["movieCount"]," ",["movieCount","plural",{"one":["Movie"],"other":["Movies"]}]],"Dnn2XG":["Automatic"],"DoJzLz":["Collections"],"DxvGLB":["Add Slot"],"E/QGRL":["Disabled"],"E5ipHC":["Balance By:"],"E8oclZ":["Copied Channel ID!"],"EKlukx":["Copy Full Report"],"EL4/HD":[["0","plural",{"one":["program"],"other":["programs"]}]],"EdQY6l":["None"],"EkH9pt":["Update"],"Etie0Q":["All channels assigned to this config will be set to use the default configuration. If this is the last configuration, a new default configuration will be created."],"Eu20Os":["Time Slots"],"Ev2r9A":["No results"],"F1l877":["Subtitle Streams"],"F3bW6y":["Platform"],"F3smBd":["Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel.<0/><1>Note: Previewing the schedule in the browser for long lengths of time can cause UI performance issues"],"FDEfoy":["Deleting a media source will remove all of its associated programs from Tunarr."],"FXCwT9":["FFprobe Executable Path"],"FZg3wM":["Operation"],"FmN5me":["Resolution"],"FnChN1":["Enable <0>EBU R 128 loudness normalization via the <1>loudnorm FFmpeg filter. May increase CPU usage during streaming."],"Fp7p73":["Time between subsequent breaks"],"FqCHF/":["Threads"],"FrRP21":["There was an error when submitting the form. Please see console logs for details."],"FsF4bb":["Audio Loudness Normalization"],"FssFce":["Configure preferred audio languages globally."],"Fzn/BQ":["Release Date"],"G+8qH5":["Channel name is required"],"GDKKxT":["Access Token"],"GHOK4Z":["Time Format"],"GJ1P5j":["File a Bug Report"],"GKLqtE":["Set the host of your Tunarr backend. When empty, the web UI will use the current host/port to communicate with the backend."],"GLOZdc":["Custom Shows"],"GP/CFo":["HW Accel"],"GQ3O42":["Trash"],"GRCrpV":["Manage Libraries"],"GUtCZC":["Version: ",["0"]],"GhZ4GX":["Error while copying to clipboard. Check browser logs for details"],"GmP0oY":["Slot Warnings"],"GmTnBN":["Enable ffmpeg logging to different sinks. Outputting to a file will create a new log file for every spawned ffmpeg process in the Tunarr log directory. These files are automatically cleaned up by a background process."],"Gr1Ik2":["Nvidia Capabilities"],"GtycJ/":["Tasks"],"GzzMwi":["Roll on Schedule"],"H0QGc9":["Filler List Cooldown (seconds)"],"H1OFlu":["Inverse linear decay, heavier weighting."],"H1V+2G":["To use Tunarr, you must first connect at least one media source. Media sources provide all content used to create channels in Tunarr. Plex and Jellyfin are currently supported."],"H3OF1s":["Tuner Count"],"H7OUPr":["Day"],"H8100o":["Filler lists are collections of videos that you may want to play during \'flex\' time segments. Flex is time within a channel that does not have a program scheduled (usually used for padding)."],"HDoQBx":["Channel settings saved!"],"HEH0PR":["Must define at least one language preference"],"HErtdg":["Name can only contain alphanumeric characters, dashes, and underscores"],"HLlLPP":["Channel Stream Mode"],"HMWEIt":["Edit Flex Time"],"HOLbdk":["Failed to load stream details! Check logs for details"],"HSfauP":["This slot is linked with ",["0"]," other ",["1","plural",{"one":["slot"],"other":["slots"]}],". Content fields are shared across the group."],"HVpg3x":["Failed to load Smart Collection"],"HXx+vU":["Controls what happens when this slot runs out of replayed content from earlier continue slots."],"HYCPKT":["Add Selected Media"],"HajiZl":["Month"],"HdE1If":["Channel"],"Hjfx9G":["Audio & Subtitles"],"HmHwcC":["Fixed Interval"],"HptUxX":["Number"],"HqUilK":["Keywords perform full text search across all (or configured) fields"],"HzV8B2":["Skip mid-roll for programs shorter than this"],"I+FvbD":["Scan"],"I2Bar3":["Shows"],"I5BU70":["Smart Collection: ",["0"]],"I6gXOa":["Path"],"IDlmXg":["Tunarr Backend URL:"],"IE9OdF":["Update Play Status"],"IFiQdD":["Channels M3U Link:"],"IMxI++":["Not a valid URL"],"INCbO6":["On-Demand channels resume from where you left off. Programming is paused when the channel is not streaming.<0/><1>NOTE: While the channel is inactive, the TV Guide for the channel will be empty."],"IagCbF":["URL"],"IetKlB":["New Custom Show"],"IgC1fP":["Enable light Mode"],"IiBgkW":["Failed to update Media Source settings. Please check server and browser logs for details."],"IoSxk9":["Protocol must be HTTP or HTTPS"],"IvkbIT":["Read More"],"J/eF78":["Removing overrun programs from the channel."],"J0NKO1":["Exclude Seasons"],"J2eKUI":["File"],"J2lnQW":["Pre"],"J41wt0":["Slot Editor"],"J4Ngmi":["Loop Short Programs"],"J50/e4":["Filter Type"],"J8X80J":["Stealth?"],"JCGCcQ":["Sorts everything by its release date. This will only work correctly if the release dates in Plex are correct. In case any item does not have a release date specified, it will be moved to the bottom."],"JCOZTc":["Audio & Subtitle Options"],"JOFDLs":["Program Playback Troubleshooter"],"JeAvlS":["Pad Times"],"JeL1O4":["Redirect duration"],"Jj3SJk":["A-Z (asc)"],"JmZ/+d":["Finish"],"Jpe9a8":["Attempts to balance programming groups by either total lineup duration or number of unique programs. For instance, for a channel with many seasons of one show and few seasons of another, balancing will attempt to create an even mix of both shows by inserting repeats of the show with fewer episodes."],"JryIGL":["Adjust Weights"],"Jsel0T":["This channel has an existing time slot schedule. A channel can only use one scheduling type at a time. Saving a schedule here will remove the existing time slot schedule."],"Jtbzxr":["Version: unknown"],"JxE+Bh":["Allows you to pick specific programming to remove from the channel."],"JyHA6G":["Displays the last ",["0"]," system log events. Use the buttons below to export these logs or download the entire log file for debugging."],"JzJk+4":["Add Language Preference"],"K09nyY":["Linked slots advance episode progression together sequentially."],"K8+dbZ":[["totalConnections"]," total"],"K8ebg0":["Tunarr will update Jellyfin\'s \\"now playing\\" state while channels are active."],"K9pQ8Q":["Disable Watermarks"],"KRjDf4":["Audio Streams"],"Khe/Vb":["Watch Channel"],"KkOthv":["Guide"],"Km5fSd":["If you are confident FFMPEG is installed, you may just need to update the executable path in the settings. To do so, simply click Edit above to update the path."],"L+8pV5":["Sync with external playlist"],"L/KmPM":["Usually slots need to add flex time to ensure that the next slot starts at the correct time. When there are multiple videos in the slot, you might prefer to distribute the flex time between the videos or to place most of the flex time at the end of the slot."],"L6Mhe6":["You have unsaved changes!"],"L8Hb+D":["Sets the number of threads used to decode the input stream. Set to 0 to let ffmpeg automatically decide how many threads to use. Read more about this option <0>here. <1>Note: this option is overridden to 1 when using hardware accelearation for stability reasons."],"LKPR6G":["Playlist"],"LKSv28":["Smart Collections are self-updating content lists. You set the query and the collection automatically adds any new content from your library that fits those rules. Any newly added content matching query will not modify existing channel programming at this time."],"LMMGPr":["Submitting..."],"LRvqnF":["Error saving new Jellyfin server. See browser console and server logs for details"],"LTC198":["Running..."],"LTYRAI":["View Library"],"LiCr5o":["Limit must be numeric"],"MHrjPM":["Title"],"MKK96e":["View Collection"],"MR6Nlf":["Change the verbosity of specific categories of logs. Useful if debugging a specific feature."],"MS1Dhi":["Max file size (bytes)"],"MVBLYK":["Remove..."],"MW42Hp":["Customize how movie blocks are sorted"],"Md/eZS":[["count","plural",{"one":["#"," item"],"other":["#"," items"]}]],"MfkGXC":["Shuffle Grouping"],"MkMcGz":["Refresh Libraries"],"Ml7h3C":[["0","plural",{"one":["#"," Program"],"other":["#"," Programs"]}]],"Mrdyk9":["Genre"],"Mv+xQh":["New Channel"],"N15e5e":["Remove custom icon"],"NGOfis":["Disable Image Scaling"],"NGSThJ":["Smart Collection"],"NL/bON":["FFmpeg Command"],"NQ7yht":["Must use a valid URL, or empty."],"NaDxQ2":["Auto Deinterlace Video"],"Nb+B9K":["Adjust the output volume (not recommended). Values higher than 100 will boost the audio."],"NcV1df":["Pad Start Times"],"NfTP7a":["Advanced options relating to audio. In general, do not change these unless you know what you are doing!"],"NfZ8rc":["24-hour"],"Nkn5MW":["Removes all Flex periods from the schedule."],"NnH3pK":["Test"],"NnuRri":["This allows you to pick the weights for each of the shows, so you can decide that some shows should be less frequent than other shows."],"NtQvjo":["Period"],"Nu4oKW":["Description"],"Ny7dz3":["Albums"],"NyfQ4q":["Save as Smart Collection"],"O1xfOi":["Random..."],"O5izWu":["This custom show is synced with an external playlist. Content is updated automatically and cannot be edited manually."],"O8g6Na":["Last Scanned: ",["0"]],"OPw3KG":["Connect Media Source"],"OVmXHk":["Refresh Timer (Hours)"],"Ob+B6e":["Buffer size cannot be changed when copying input audio"],"OfC/JK":["Custom Show - ",["0"]],"OfYtUi":["Filler Content"],"OfhWJH":["Reset"],"OrDu0o":["Video Buffer Size"],"Osn70z":["Debug"],"P/TyYO":["The type of media in the provided paths"],"P1BU0j":["Frame Rate"],"P29ZKI":["Enter a name for your Emby Server"],"P2DGHD":["Programming starts at ",["startTime"]," and stops at ",["endTime"]],"P3i3NN":["Edit Channel Settings"],"P6Io39":["Max Lateness"],"P6c7YE":["Remove Programming"],"PCBfmf":["Renders a channel icon (also known as bug or Digital On-screen Graphic) on top of the channel\'s stream."],"PJ/u9s":["Copied ",["0"]," URL to clipboard"],"PT6k0T":["Pixel Format"],"PX1WM1":["Successfully emptied trash."],"Pazp7r":["There was an error generating time slots. Check the browser console log for more information"],"PeBTGz":["Clear Schedule"],"PeBylA":["You must create at least one <0>filler list before assigning filler to a lot."],"Pfatg8":[["minutes","plural",{"one":["#"," minute"],"other":["#"," minutes"]}]],"PgdRhI":["Weighting"],"Ph+yE0":["0 mins"],"PhKcf0":["Edit Transcode Config"],"PiY0nu":["You have no Filler Lists. Create your first Filler List <0>here."],"Pol2QS":["Emby"],"PpZkda":["Features"],"PwpUBp":["This is the name of the fake program that will appear in the TV guide when there are no programs to display in that time slot guide, e.g when a large Flex block is scheduled."],"Pwqkdw":["Loading…"],"Q8L6q9":["Video Streams"],"QAUrt0":["Refresh Page"],"QEb4hu":["Stealth Mode"],"QG2xdt":["Create Rerun Block"],"QHRTYn":["Slots Editor..."],"QKMxhc":["Tunarr runs various tasks, sometimes on a schedule, for background operations."],"QUxTIQ":["Filler is resolved at schedule time. The guide shows specific filler titles."],"Qll2Tb":["Desc"],"QlrQ/Z":["Next Scheduled Execution"],"Qm1NmK":["OR"],"Qu844y":["Time Slot Editor"],"QvKdb0":["Placeholder Program Title"],"Qx971g":["After Every"],"R/7J0Z":["Artists"],"R/N+HY":["No programming added yet"],"R/xSFi":["Editing \\"",["0"],"\\""],"R0yni2":["Attempt Auto-Fix"],"R40oLk":["Will force use of a software encoder despite hardware acceleration settings."],"R6kHq+":["Link Mode"],"R9Khdg":["Auto"],"RCeEAd":["Global Options"],"RGf6l7":["Select a slot to link to"],"RI4u49":["<0>You can edit this location in your settings.json within your Tunarr data directory<1/><2>NOTE: When manually adding the XMLTV location to a client like Plex, do not use this file directly. Instead, use the generated XMLTV from the Tunarr API endpoint: ",["0"],""],"RTxUjI":["Copy to Clipboard"],"RUYsn0":["Clear All"],"RVl9/c":["Alternate programs in blocks. You can pick the number of programs per-type in each block and if the order of shows in each block should be randomized."],"RYP47R":[["0","plural",{"one":["Day"],"other":["Days"]}]],"RYlQY0":["Repeats"],"RaHlqV":[["totalConnections","plural",{"one":["#"," connection"],"other":["#"," connections"]}]],"RavMGr":[["count","plural",{"one":["second"],"other":["seconds"]}]],"RbgUS/":["Copy Channel ID"],"RtPRIb":["Maximum number of days to precalculate the schedule. Note that the length of the schedule is also bounded by the maximum number of programs allowed in a channel."],"RxzN1M":["Enabled"],"S/CawK":["Movies are grouped altogether"],"S5v5/h":["Enabling embedded subtitle extaction will periodically scan your upcoming programming for embedded text-based subtitle streams and extract them to a local cache. This is necessary in order to enable subtitle burning for text-based subtitles which are not external streams."],"S60KP9":["Server Settings"],"S8zZJK":["Welcome to Tunarr!"],"SBtwzo":["Version Mismatch!"],"SCZJhh":["Audio Bitrate"],"SFjIKS":[["0","plural",{"one":["#"," Selected Item"],"other":["#"," Selected Items"]}]],"SOXW6w":["All Genres"],"SY1gRl":["Media Source"],"SYGPcm":["You have no smart collections. Smart collections can be created on the <0>search page."],"SZcfpX":["Pad Style"],"SZzr30":["The selected languages will be considered in order they are selected."],"Sbs5dW":["Filler"],"Sg3laT":["Min Duration"],"SoRsRS":["Calculates a schedule where all programs end at the same time, creating a perfectly looping schedule."],"SuubHr":["Deleting a Plex server will remove all programming from your channels associated with this plex server. Missing programming will be replaced with Flex time. This action cannot be undone."],"SywaS+":["Data Directory:"],"T5wfux":["Makes multiple copies of the schedule and plays them in sequence"],"T8drou":["System Health"],"TEM0vH":["Removes all programs from custom show"],"TMADKS":["Divides the programming in blocks of 4, 6, 8 or 12 hours then repeats each of the blocks the specified number of times."],"TMju4P":["Delete Media Source \\"",["0"],"\\"?"],"TS0lwx":["Encountered an error when emptying trash. Check console logs for details."],"TZKpsF":["No Media Sources detected."],"TpqW74":["Fixed"],"Ts6Zfm":["Error updating Smart Collection. Check logs for details."],"Ts8Q+i":["EPG"],"TvY/XA":["Documentation"],"Tz0i8g":["Settings"],"TzyoiK":["When enabling, Tunarr will generate an initial backup immediately"],"U0sC6H":["Daily"],"U3+jR/":["Replicate Programs"],"UC1lMc":["Failed to save feature flags."],"UE2eVC":["Sorts alphabetically by program title"],"UHu/Uf":["Show only synced libraries"],"UOMT7z":["This option is disabled because it would calculate a schedule that is too long."],"URmyfc":["Details"],"UXC1jS":["NodeJS: ",["0"]],"UYUgdb":["Order"],"UYW9jU":["Successfully ran system fixer ",["fixerId"]],"Uf/h/w":["Pick specific programming to remove from the channel."],"UirGxE":["Errors"],"UnI8zh":["Channel #",["0"]],"UweSf9":["Add Channel Redirect"],"V8B1wG":["Last synced ",["0"]],"V9UVpb":["Total hits: ",["0"]],"VBsY8N":["Set to 0 to never delete backups"],"VIHbrI":["Advanced options relating to transcoding. In general, do not change these unless you know what you are doing! These settings exist in order to leave some parity with the old dizqueTV transcode pipeline as well as to provide mechanisms to aid in debugging streaming issues."],"VP2oPP":["Slots"],"VVAgOP":["Rescan Interval (hours)"],"VXdzY3":["Disable Hardware Encoding"],"Va3xJe":["Add field"],"VfWz27":["Weight %"],"VlEnCC":["Archive Format"],"VlWKwW":["Lazy"],"Vmvp5H":[["count","plural",{"one":["day"],"other":["days"]}]],"VrBtVn":["Backups:"],"Vw5EeW":["Enable Backups"],"VyUuZb":["Image URL"],"WAakm9":["Delete Channel"],"WDgJiV":["Scanner"],"WGkxNZ":["Error querying Plex. Check console log and consider reporting a bug!"],"WKHqM+":["Weight"],"WMQchs":["Audio Buffer Size"],"WT1Ibn":["Last run"],"Wb3E4g":["Run now"],"Weq9zb":["General"],"WhJZoS":["Choose the transcode configuration to use for this channel. Configure transcode configurations on the <0>FFmpeg settings page."],"WjUHH8":["Movie Sort"],"WnW1QF":[["block"]," Hours"],"WzNAIP":[["0","plural",{"one":["Hour"],"other":["Hours"]}]],"X0mSqw":["Will force use of a software filters (e.g. scale, pad, etc.) despite hardware acceleration settings."],"X9EHMa":["Editing Smart Collection \\"",["0"],"\\""],"XDT85c":["Media Sources"],"XIgmo9":["Did not receive an accessToken or userId from Jellyfin server."],"XNtsE7":["Calculating Slots..."],"XNw99A":["Software (No GPU)"],"XOgcN3":["Filler List: ",["0"]],"XOuE6F":["This could cause the following slot\'s programs to go unscheduled. Possible solutions include:"],"XSkU3F":["* Restart required"],"XWYqJx":["Duplicate Channel"],"XXwX66":["Set the log level for the Tunarr server.<0/>Selecting <1>\\"Use environment settings\\" will instruct the server to use the <2>LOG_LEVEL environment variable, if set, or system default \\"info\\"."],"XePUKr":["Test Transcode"],"XhWvkJ":[["0"]," of ",["1"]," ",["2"]," exceed the length of this slot (",["3"],"). Average program length: ",["4"]],"Xkppm4":["Enable Watermark"],"Xm/WEQ":["Channel Group"],"XsR2HX":["Test Duration (seconds)"],"Xuml3I":["By default, time slots are time of the day-based, you can change it to time of the day + day of the week. That means scheduling 7x the number of time slots. If you change from daily to weekly, the current schedule will be repeated 7 times. If you change from weekly to daily, many of the slots will be deleted."],"XwU6BE":["You haven\'t created any filler lists yet! Go to the <0>Filler Lists page to create one."],"Y2ngGV":["Add a Filler List"],"Y5XZLy":["<0>Pad Slot: Align slot start times to the specified pad time.<1/><2>Pad Episode: Align episode start times (within a slot) to the specified pad time. <3>NOTE: Depending on slot length and the chosen pad time, this could potentially create a lot of flex."],"Y84UgQ":["Loudness Target"],"YAKCkm":["An error occurred: ",["0"]],"YDlcs3":["Shuffle Programming"],"YLUnu0":["Test Playback"],"YN7vx3":["Custom Show"],"YRQaPv":["Last Synced"],"YRT1+e":["Creates a new collection"],"YSptU0":["Replicate..."],"YT5/eK":["Media Source: \\"",["0"],"\\""],"YXwR3a":["Restore default logo"],"YY/JN7":[" the following day."],"YYLNVW":["Insert breaks at these percentages of the program duration"],"YdIZFA":["This channel number has already been used"],"Yf/Mtb":["You\'re All Set!"],"Z10t2U":["Removes repeated programs."],"Z3FXyt":["Loading..."],"Z4IQ8m":["Channel Transcode Config"],"Z5IrB3":["Open in ",["0"]],"Z6dMWq":["Error while running system fixer ",["fixerId"],". Check server logs for details."],"ZND/fh":["Cannot be empty"],"ZNZzTe":["Cannot disable libraries when they are locked"],"ZShzvn":["\\"",["0"],"\\" Live"],"ZWRt1W":["Output Path"],"ZkdKVr":["Redirect to Channel ",["0"]],"Zky8hA":["The image will be rendered at its actual size without any scaling applied."],"Zs2GWW":["New Emby Media Source"],"Zul8Ry":["never"],"Zvipe1":["Editing Plex Server \\"",["0"],"\\""],"ZxwuFV":["Deleting a Channel will remove all programming from the channel. This action cannot be undone."],"a+Pr3s":["Apply to Program Types (empty = all)"],"a4N/Bg":["Load More"],"aE3UMm":["<0>None: slots are picked in the order they are specified in the table (i.e. not randomly)<1/><2>Uniform: all slots have an equal chance to be picked.<3/><4>Weighted: each slot is picked with a specified probability"],"aOaCIk":["Allow External"],"aScBGS":["Add a filter expression to fine-tune results of the search"],"aSwfbR":["Unit"],"ak3N0i":["Item was not present during the last scan"],"aoLy25":["Opacity"],"b0Uv6P":[["0","plural",{"one":["Path"],"other":["Paths"]}]],"b6sx4K":["No active sessions"],"bDY29m":["Logarithmic"],"bGG6B1":["Jellyfin"],"bHNlfr":["Increasing the slot duration."],"bNEQeI":["Cooldown"],"bORfbY":["Cannot use a channel number <= 0"],"bPJiZF":["Show: ",["0"]],"bSIBDb":["Release Date (asc)"],"bm8pgG":["Add group"],"boItSp":["Delete Media Source?"],"buS8nL":["Enable Subtitles"],"bxyuno":["Override global audio and subtitle settings for this channel."],"bydide":["FFMPEG Log Method"],"c6fsNw":["When enabled, intermittent watermarks fade in immediately when a stream is initialized. When disabled, the first watermark fade-in occurs after a full period."],"cF5KzV":["Edit Filler List"],"cFTdM+":["Console"],"cHYx4E":["Empty Trash"],"cLgGtf":["Reset programming to most recently saved state"],"cN5Dty":["No Programming scheduled"],"cOvZFM":["Dynamic"],"cXkSYc":["There was an error submitting the request to update Media Source settings. Please check the form and try again"],"caSM6R":["This is used by iptv clients to categorize the channels. You can leave it as \'tunarr\' if you don\'t need this sort of classification."],"cgo+Ch":[["remainingTime"]," left"],"cheWPw":["Duplicates"],"cjX7aq":["Are you sure you want to delete Smart Collection \\"",["0"],"\\"?"],"cmKYIw":["Overflow Behavior"],"cmlWKg":["<0>Error deleting custom show: ",["0"],"<1/>Please consider opening a bug with details!"],"cnCAaO":["Percentage-Based"],"cnGeoo":["Delete"],"cv/ykT":["Search Server URL:"],"cxrM1O":["Connect Sources"],"d5zxa4":["Local"],"d72gcv":["Loudnorm Options"],"d9HhJj":["This media source has no enabled or scanned libraries. Enable libraries for this source on the <0>Media Sources page or manually trigger scans on the <1>Library page."],"d9Tsiy":["Error updating channel.<0/>Check browser console for details"],"d9XR+x":["Transcode Config <0> <1/>"],"dBV/FP":["Lock Weights"],"dDX6oS":["Videos from the filler list will be randomly picked to play unless there are cooldown restrictions to place or if no videos are short enough for the remaining Flex time.<0/>Each filler can be assigned a cooldown, which restricts how frequently the list will be chosen during flex time."],"dEgA5A":["Cancel"],"dH8AwH":["Add Breaks"],"dK3Z9j":["Component"],"dQvGiF":[["0","plural",{"one":["#"," session"],"other":["#"," sessions"]}]],"dScixt":["Enable dark Mode"],"dUyQn5":["On-Demand"],"daSf8d":["Group episode programs by their show."],"djpQ8z":["Reload Stream"],"dkURuB":["Tail Buffer (minutes)"],"dnCwNB":["Successfully copied to clipboard!"],"eARDm/":[["0","plural",{"one":["#"," season"],"other":["#"," seasons"]}],", ",["1","plural",{"one":["#"," total episode"],"other":["#"," total episodes"]}]],"eEpDfJ":["Will force use of a software decoder despite hardware acceleration settings."],"eNorwJ":["Programs Too Long"],"ePK91l":["Edit"],"eSsduj":["VA-API Device"],"eZTFiP":["Review Selections"],"eZe0fr":["Audio Channels"],"ecUA8p":["Today"],"efuwN9":["These settings are stored in your browser and are saved automatically when changed."],"eg6m1K":["Edit Transcode Config: \\"",["0"],"\\""],"ep+NHZ":["If you proceed, all unsaved changes will be lost. Are you sure you want to proceed?"],"et+mIi":["Troubleshoot"],"euChZN":["Cyclic Shuffle"],"euc6Ns":["Duplicate"],"exYcTF":["Library"],"eyRsaH":["Root"],"f0w0IC":["Leave blank to use the channel\'s icon."],"f6Hub0":["Sort"],"f6pgxW":["Temporarily caches responses from Plex based by request path. Could potentially speed up channel editing."],"f7DWm5":["Need at least one path"],"fD+lMD":["Select the port the Tunarr server will listen on. This requires a server restart to take effect."],"fI+mNw":["Playlists"],"fJfo1A":["Server Path"],"fN4bgn":["Delete Filler List \\"",["0"],"\\"?"],"fQ9phi":["Remove All"],"fSRZCh":["Restore Default Settings"],"fU1065":["Mid-Roll"],"fWj7Tt":["Shuffle programming in a channel, optionally grouping programs by certain criteria."],"fcqkKg":["Not found!"],"fsBGk0":["Balance"],"ftF4U5":["Show Advanced"],"fxTyFe":["This slot is linked with ",["0"]," other ",["1","plural",{"one":["slot"],"other":["slots"]}],"Content fields are shared across the group."],"fyo+NB":["The End."],"fzWV5a":["Sort TV Shows (desc)"],"g2Pro3":["Reset changes made to the channel\'s lineup"],"g6LxbB":["Break Interval (minutes)"],"g7LzUS":["Install FFMPEG"],"gBx20d":["Custom Program"],"gH5Gbn":["Shuffle"],"gJrGqR":["FFmpeg version 7.1+ recommended. Check your current version in the sidebar"],"gL9DoB":["Programs shorter than this value will be treated the same as Flex time. Meaning that the TV Guide will try to meld them with the previous program or display the block of programs as the \\"place holder program\\" if they make a large continuous group. Use 0 to disable this feature or use a large value to make the channel report only the placeholder program and not the real programming.\\n",["0"]],"gR/hgc":["Error Audio"],"gcD6jw":["Hide watermark during filler"],"gf/bM4":["Continue with New Content"],"gg9/ya":["Remove ",["count"]," ",["0"]],"ghGSuE":["Ensures programs have a nice-looking start time, it will add Flex time to fill the gaps."],"glVpbE":["Eager"],"h/qU8b":["Override the default ",["0"]," device path (defaults to <0>/dev/dri/renderD128 on Linux and blank otherwise)"],"h4yKYk":["Next run"],"h8WhoR":["Slot Scheduler"],"hBGuBW":["Use channel default"],"hBzeL7":["Time before first break"],"hG89Ed":["Image"],"hISVAG":["Media Sources are where Tunarr sources your content. Media can come from your filesystem or a remote server, like Plex or Jellyfin. At least one Media Source is necessary to create channels and play media in Tunarr."],"hQRttt":["Submit"],"hQSabA":["TO"],"hXfj39":["Audio Sample Rate"],"hXzOVo":["Next"],"hYgDIe":["Create"],"he3ygx":["Copy"],"hehnjM":["Amount"],"hhukVU":["Trashed items are items that were previously scanned, but not found in a recent scan. This could be due to missing files or a media server no longer returning the item from its API. These items will be unplayable in channels in their current state. When the trash is emptied, their spots in channels will be replaced with flex."],"hjerov":["Guide Start Time"],"hlIKor":["None:"],"hnFEC+":["Initial Delay + Interval"],"hrdWlG":["Add Show"],"hvo+jE":["Add point (%)"],"i1+yww":["FFprobe version 6.0+ recommended. Check your current version in the sidebar"],"i2QuB6":["Error Screen"],"i9rcQ/":["Movies"],"iH8pgl":["Back"],"iQWhqk":["FFMPEG is installed. Detected version ",["0"]],"iTjV+L":["A-Z (desc)"],"ih+n6S":["Linear"],"ihCTE6":["Error occurred while loading channels, please try again soon."],"ihn4zD":["Search…"],"ilkCYA":[["0","plural",{"one":["Selected Item"],"other":["Selected Items"]}]],"imrPBy":["Watermark Image URL"],"isC0OF":["Use these settings to override global ffmpeg settings for this channel."],"isRobC":["New"],"isyw73":["Auto uses the time convention for the selected language."],"jETaUB":["Buffer size effects how frequently ffmpeg reconsiders the output bitrate. <0>Read more"],"jHjfnS":["Add filler"],"jZlrte":["Color"],"jl3Q84":["Create a Channel"],"jz1oG0":["Selected Audio"],"k6TRai":["FFMPEG transcoding is required for some features like channel overlay, subtitles, and measures to prevent issues when switching episodes."],"kAidIP":["Failed to load feature flags."],"kBJRjR":["Download all logs"],"kIYDzY":["Successfully updated Media Source settings."],"kKgsI0":["<0>Configure the directory where Tunarr writes HLS segment files when transcoding. Tunarr will create the target directory (but not intermediate directories) if it doesn\'t exist.<1/>Changing this field will only affect new sessions. Existing sessions will continue writing to the previous setting, but will clean out segments when the segment ends.<2/>When unset, Tunarr will write segments to its current working directory."],"kKk153":["Load Stream"],"kO0aVB":["Break Duration (minutes)"],"kThBL9":["Sample rate cannot be changed when copying input audio"],"kdkZBD":["Increment"],"kii1WH":["Programming Preview"],"kolyzq":["This ",["0"]," is marked as missing in the database."],"kpfZ0g":["Minimum Program Duration (minutes)"],"kq6sAD":["Add TV Shows or Movies to filler"],"ksFZi3":["<0>Experimental: Enable Plex Request Cache"],"kvMAno":["Web Settings"],"l/UFPv":["Properties"],"l0VyMh":["Flex"],"l15zKW":["All Set!"],"lBADOx":[["count","plural",{"one":["#"," episode"],"other":["#"," episodes"]}]],"lC2oeQ":["Max Duration (minutes)"],"lCF0wC":["Refresh"],"lIUgjN":["Error copying channel m3u link to clipboard"],"lJSUC1":["Watermark"],"lKCfnI":["Audio Language Preferences"],"lS14fB":["Theme Settings"],"lW3FB1":["Download last ",["0"]," ",["1","plural",{"one":["#"," row"],"other":["#"," rows"]}]],"lWmRHf":["Time Slots..."],"lZMqZ5":["If enabled, TV show episodes will use the poster of their show, instead of the individual episode poster."],"laQT4o":["Thumbnail URL"],"lfFsZ4":["Channels"],"lkz6PL":["Duration"],"llDXYJ":["Backups"],"lnABVQ":["Run Troubleshooter"],"m+8qnB":["Library: ",["0"]],"m0Gp21":["Select a program and channel to test playback. The troubleshooter will analyze stream selection, build the FFmpeg pipeline, and run a short test transcode."],"m16xKo":["Add"],"m48LOH":["Hardware Acceleration"],"mCB6Je":["Select All"],"mDcLzR":["Caching"],"mF+u2B":["Don\'t see the library you want here? Ensure it is enabled in the <0>Media Source Settings."],"mGM6Aa":["Custom Shows are sequences of videos that represent a episodes of a virtual TV show. When you add these shows to a channel, the schedule tools will treat the videos as if they belonged to a single TV show."],"mHTMS1":["Normalize Frame Rate"],"mQt7fl":[["count","plural",{"one":["program"],"other":["programs"]}]],"mRWiYM":["Duration (seconds)"],"mWbpso":["Max Backups"],"mYBORk":["Movie"],"mYJG1x":["Your list will be replicated ",["0"]," times"],"mZFYjJ":["Error saving programs. ",["0"]],"mZFr14":["HLS not supported in this browser!"],"md42bg":["Transcode Config (optional override)"],"mgcp8D":["How often to insert a break"],"migeCK":["Filter which subtitle tracks are considered<0/><1>Any: All subtitle tracks are considered <2/><3>Forced: Only consider <4>\\"forced\\"subtitle tracks <5/><6>Default: Only consider default subtitle tracks <7/><8>None: Do not select any subtitles"],"mtQjGe":["Configure subtitle preferences. Preferences are evaluated in order of priority. The first matching subtitle stream on a program will be used."],"mvU6s8":["Sort TV Shows"],"mwtge0":["Started ",["startedAgo"]," - ",["remainingTime"],"remaining"],"n+7HJk":["When file paths on the remote server differ from the paths Tunarr can see, use Path Replacements to instruct Tunarr how to stream media from disk."],"n9nSNJ":["Time format"],"nH6YaM":["Other Videos"],"nSW2Lv":[["days","plural",{"one":["#"," day"],"other":["#"," days"]}]],"nV6twc":["Organize"],"nYD/Cq":["Ascending"],"nZXc7r":["Unlink from group"],"nfAddt":["FFmpeg Transcode Path"],"nfxRnc":["Tunarr is currently configured to use the AC3 audio encoder. This audio format is not supported by browsers. The resultant stream will likely not have audio or will not play at all."],"njIcYs":["Save as new collection…"],"ntJ9rt":["HLS Direct Output Format"],"nzDzPp":["toggle access token visibility"],"o0+Ul2":["Add Flex"],"o2Ucvk":["Libraries"],"o6OQlp":["Edit Channel"],"o7J4JM":["Filter"],"o7Y4WO":["Error saving new Emby server. See browser console and server logs for details"],"oADXRC":["Calculated ",["humanizedDuration"]," (",["numShows"]," programs) of programming in ",["duration"],"ms"],"oCHfGC":["Level"],"oCpfQF":["This feature is currently experimental. Proceed with caution and if you experience an issue, try disabling caching."],"oEZmaP":[["count","plural",{"one":["#"," season"],"other":["#"," seasons"]}]],"oMA2jd":["Removes any specials from the schedule. Specials are episodes with season \'00\'."],"oPWgse":["Maximum number of breaks per program (0 = unlimited)"],"ofUcbc":["Random"],"oihuQr":["Number of Replications"],"ousf2V":["Random…"],"ovBPCi":["Default"],"oxvBx3":["If set, any programming group with fewer episodes will be looped in order to make perfectly even blocks."],"p/78dY":["Position"],"p/KgUp":["The channel\'s regular programming between the specified hours. Flex time will fill up the remaining hours."],"p04z/V":["# Programs"],"p4XZFD":["Local Path"],"pDwcFl":["Save Smart Collection"],"pKYBXC":["Last Scheduled Execution"],"paEQ75":["\\"Stealth\\" channels are hidden from TV guides, spoofed HDHR, m3u playlist, etc. The channel can still be streamed directly or be used as a redirect target."],"pcRxi1":["How frequently libraries should be scanned (starting from midnight)."],"pdlmIS":["<0>Error deleting filler list: ",["0"],"<1/>Please consider opening a bug with details!"],"pkERVr":["Download JSON"],"pqarBu":["Asc"],"pvnfJD":["Dark"],"pwPreK":["Restrict Hours"],"pxh+PI":["Builder"],"q6GKgP":["VAAPI Capabilities"],"q6nlo/":["Subtitle Action"],"q9p3Xw":["Bitrate cannot be changed when copying input audio"],"qAGp2O":["Proceed"],"qG6T/X":["Add Programming"],"qKNcv7":["Generating Bug Report Link..."],"qV9xkb":["Passthrough audio unchanged. Other settings will not apply."],"qiXmlF":["Add Media"],"qjW34v":["This channel is set up to use <0>",["0"],"Slots for programming. Any manual changes on this page will likely make this channel stop adhering to that schedule."],"qlR1dD":["Delete Channel \\"",["0"],"\\"?"],"qs/mhD":["Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate."],"r3ptXC":["Manually add an access token from your Jellyfin server"],"r9sc/0":["Duration must be numeric"],"rAx5u1":["End Time"],"rPEEWz":["Successfully saved config!"],"rSZlvN":["Programming Start"],"rhEkXj":["Head"],"rl/8FN":["Commit"],"rnbEQB":["Copy M3U URL"],"roIf2/":["On-Demand?"],"rtDDIV":["Edit Slot"],"ru5qTc":["Edit Media Source"],"rx5Ria":["All lists are used"],"rxumR2":["Match any of"],"s2OE0W":["Enter a name for your Jellyfin Server"],"s4iETe":["Transcode Config"],"s6lNC3":["Fallback Mode"],"s8zbIS":["Include Seasons"],"sA8Jt7":["This slot replays content aired by continue slots earlier in the period."],"sBJ5MF":["Sources"],"sNnXh6":["Order of programming within the slot"],"sUtIRs":["about "],"sVVcvs":["Experimental Features"],"sfbjgG":["Audio Format"],"sxkWRg":["Advanced"],"sxwNOp":["Logs Directory:"],"sztQMJ":["Programs a Flex time slot. Normally you\'d use pad times, restrict times or add breaks to add a large quantity of Flex times at once, but this exists for more specific cases."],"t/YqKh":["Remove"],"t3hvHq":["Sync Now"],"t5q6kk":["For more details on manually retrieving a Plex token, see <0>here"],"t6+QCF":[["count"]," ",["programLabel"],", ",["0"]],"t8Hzw3":["Cyclic Shuffle randomly shuffles groups of programming."],"tDuQbQ":["Stream Mode"],"tEvsql":["Subtitles"],"tH1aCG":["Video Bitrate"],"tMxWK0":["Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks. For example, you can use this to ensure that all your programs start at either XX:00 times or XX:30 times. Removes any existing Flex periods before adding the new ones. This button might be disabled if the channel is already too large."],"tPGTPB":["Roll the log file on a fixed schedule, regardless of file size."],"tRgOE5":["Balance Programming"],"tXkhj/":["Start"],"tXub8j":["Display Watermark on Leading Edge"],"tYuxvA":["FFMPEG"],"tfDRzk":["Save"],"tgPwON":["Operator"],"ti6ugP":["Error while saving transcode config. See console log for details."],"tkDYSE":[["hours","plural",{"one":["#"," hour"],"other":["#"," hours"]}]],"tlMRNb":["The loaded version of the Tunarr UI does not match the server. Reload the browser to get the latest. If this message persists, clear your browser cache and reload."],"tlNobE":["Custom Show: ",["0"]],"tlmh8e":["Add all selected programs to channel"],"tsqRRB":[["0"]," Poster"],"ty8rVI":["Now Playing:"],"tzwArf":["View in ",["0"]],"u+VWhB":["Copied to clipboard!"],"u+zFIr":["Restrict search fields"],"uAQUqI":["Status"],"uHTa9V":["To use Tunarr, you need to first connect a media source. This will allow you to build custom channels with your content."],"uLiDe/":["Enable embedded subtitle extraction"],"uUTf8r":["Delete Custom Show \\"",["0"],"\\"?"],"uamufO":["Add TV Shows or Movies to programming list."],"ueG1bp":["Program Count"],"ueLbrY":["If true, adjusting the weight of one slot will scale the weights of other slots such that all weights total 100%. Otherwise, weights can be adjusted freely and the weight of each slot is only relative to the total weight."],"uixVel":["By default, saves backups in the server\'s run directory, or, if running in Docker, to /config/tunarr/backups"],"uyR9ei":["Block Shuffle"],"v4nbQ4":["If no more programs can fit into a duration-based slot, flex time is added to fill the gap. This setting determines how flex is added <0>within the slot to ensure all time is filled.<1/><2>Between: Flex time is added between videos within a slot, if there are multiple<3/><4>End: Flex time is added at the end of the slot"],"v5IstB":["after every program"],"v5URfV":["Like Random Shuffle, but tries to preserve the sequence of episodes for each TV show. If a TV show has multiple instances of its episodes, they are also cycled appropriately."],"vAK/B1":["Audio Action"],"vCBet9":["Not a valid number"],"vERlcd":["Profile"],"vGRvxs":["Channel group is required"],"vLf7qg":["Interval (minutes)"],"vSJd18":["Video"],"vU/Hht":["Distribution"],"vXIe7J":["Language"],"vcvFVw":["Escape Hatches"],"vkA4W/":["Source Type"],"vn3SVH":["Could not parse this filter expression. Check the <0>documentation for information about filter expressions."],"vreTxe":[["count","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"vwFKu0":["Cast & Crew"],"vyL1gO":["Release Date (desc)"],"w/bY7R":["Logs"],"w2pCRr":["Show:"],"w3KBq0":["Allows programs to play a bit late if the previous program took longer than usual. If a program is too late, Flex is scheduled instead."],"w3g+lo":["Let\'s get started..."],"wBmIEf":["Number of hours to include in the XMLTV file"],"wBo/7A":["Error while scheduling ",["taskId"],". Check server logs for details"],"wKClDM":["Adds a channel redirect. During this period of time, the channel will redirect to another channel."],"wMHvYH":["Value"],"wOUKOZ":["Max True Peak"],"wZOYCY":["Video Format"],"wdfBIP":["Sort By..."],"wdxz7K":["Source"],"wkQ2tb":["Adds Flex breaks after each TV episode or movie to ensure that the program starts at one of the allowed minute marks."],"wlYdUk":[["count","plural",{"one":["hour"],"other":["hours"]}]],"wpT1VN":["Condition"],"wtuVU4":["Frequency"],"wwu18a":["Icon"],"x+AjXa":["Channel Fallback"],"x/dwZe":["Enable if the watermark is an animated GIF or PNG. The watermark will loop according to the image\'s configuration. If this option is enabled and the image is not animated, there will be playback errors."],"x1tGMH":["Override how programs within this slot are padded."],"x6/Zc6":["Tail"],"x63PSs":["Search for shows"],"x7PDL5":["Logging"],"xCJdfg":["Clear"],"xDAtGP":["Message"],"xDPFrK":["Scan ",["0"]],"xGVfLh":["Continue"],"xGYZfl":["Edit Libraries"],"xIn7qU":["Disable Hardware Decoding"],"xJIepX":["Default Config"],"xOkMus":["Hardware Accel."],"xPmesF":["Loudness Range Target"],"xQC5se":["Advanced Video Options"],"xXrtPO":["Failed to load item details! Check logs for details"],"xazqmy":["Seasons"],"xbtgIC":["HW Acceleration"],"xdA/+p":["Tools"],"xmBknQ":["Filler Lists"],"xptXTM":["Select Artists to Remove"],"xqIrnW":["Library Clip (not yet implemented)"],"xu3Kah":[["0","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"y28hnO":["Post"],"y4Jmre":["Break Duration"],"y4iKY3":[["count","plural",{"one":["#"," album"],"other":["#"," albums"]}]],"y5x0aB":[["0"]," Info"],"y7wpam":[["value","plural",{"one":["#"," program"],"other":["#"," programs"]}]],"yDUcwc":["Manually add an access token from your Emby server"],"yEDNx2":["Tunarr will update Plex\'s \\"now playing\\" state while channels are active."],"yPE51X":["Configure transcoding settings for Tunarr\'s streams. Each channel is assigned one transcode configuration."],"yPK7+5":["Auto-Update Guide"],"yQE2r9":["Loading"],"yRkqG9":["Limit"],"yX8Rkw":["Add All"],"yftDqj":["New Filler List"],"yjzkvk":["Stop Transcode Session"],"ysJk7v":["Movie Sort Order"],"ysecYP":["Search for a program"],"ytXxnP":["Forced"],"yz/C2/":["Rerun"],"yz7wBu":["Close"],"z4K9d+":["Roll based on size"],"z61uNR":["Add Flex Time"],"zV6tsp":["Consolidate"],"zV9awV":["Force Scan"],"zpylsE":["Transcoding Settings"],"zrmjn/":["Max Duration"],"zthKEs":["The streaming mode affects the type of underlying transcoding process used to create the channel\'s video stream.<0/>Learn more about Tunarr\'s stream modes <1>here!"],"zvjEp6":["Filler cooldown must be a number"],"zx4BuL":["Week"],"zyLvkd":["Category Log Levels"]}', +) as Messages; diff --git a/web/src/locales/pseudo-LOCALE/messages.po b/web/src/locales/pseudo-LOCALE/messages.po index 7ba20cf62..43b71d6cf 100644 --- a/web/src/locales/pseudo-LOCALE/messages.po +++ b/web/src/locales/pseudo-LOCALE/messages.po @@ -298,16 +298,16 @@ msgstr "" msgid "about " msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:362 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:398 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:439 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:455 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:424 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:456 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:472 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:265 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:281 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:367 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:405 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:451 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:468 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:432 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:474 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:511 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:528 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:269 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:286 msgid "Access Token" msgstr "" @@ -315,10 +315,10 @@ msgstr "" #: src/components/settings/AddPlexServer.tsx:14 #: src/components/settings/media_source/AddMediaSourceButton.tsx:83 #: src/components/settings/media_source/EditPathReplacementsForm.tsx:34 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 #: src/hooks/useRouteName.ts:83 msgid "Add" msgstr "" @@ -650,7 +650,7 @@ msgstr "" msgid "Auto uses the time convention for the selected language." msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:352 msgid "Auto-Update Guide" msgstr "" @@ -786,10 +786,10 @@ msgstr "" #: src/components/programming_controls/BalanceProgrammingModal.tsx:68 #: src/components/programming_controls/RemoveShowsModal.tsx:429 #: src/components/programming_controls/ShuffleProgrammingModal.tsx:76 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:486 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:503 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:501 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:583 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:330 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:387 #: src/components/settings/UnsavedNavigationAlert.tsx:67 #: src/components/slot_scheduler/EditRandomSlotDialogContent.tsx:576 #: src/components/slot_scheduler/EditTimeSlotDialogContent.tsx:408 @@ -804,9 +804,9 @@ msgstr "" msgid "Cancel" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:280 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:294 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:214 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:281 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:342 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:215 msgid "Cannot be empty" msgstr "" @@ -1287,7 +1287,7 @@ msgstr "" msgid "Details" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:196 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:203 msgid "Did not receive an accessToken or userId from Jellyfin server." msgstr "" @@ -1469,14 +1469,14 @@ msgstr "" #. placeholder {0}: server.name #. placeholder {0}: source.name -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:214 msgid "Editing \"{0}\"" msgstr "" #. placeholder {0}: server.name -#: src/components/settings/media_source/PlexServerEditDialog.tsx:77 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 msgid "Editing Plex Server \"{0}\"" msgstr "" @@ -1574,11 +1574,11 @@ msgstr "" msgid "Ensures programs start only at a particular interval within the hour. This makes for nice looking schedules. Flex time is scheduled to facilitate." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:342 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:345 msgid "Enter a name for your Emby Server" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:356 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:406 msgid "Enter a name for your Jellyfin Server" msgstr "" @@ -1586,11 +1586,11 @@ msgstr "" msgid "Enter a name for your Local Media Source" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:413 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:420 msgid "Enter your Emby password to generate a new access token." msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:439 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:489 msgid "Enter your Jellyfin password to generate a new access token.<0/><1>NOTE: These are never saved to the Tunarr DB. Instead they are sent to Jellyfin to exchange for a session token." msgstr "" @@ -1632,11 +1632,11 @@ msgstr "" msgid "Error querying Plex. Check console log and consider reporting a bug!" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:146 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:147 msgid "Error saving new Emby server. See browser console and server logs for details" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:115 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:122 msgid "Error saving new Jellyfin server. See browser console and server logs for details" msgstr "" @@ -1946,7 +1946,7 @@ msgstr "" msgid "Flex Style" msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:292 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:297 msgid "For more details on manually retrieving a Plex token, see <0>here" msgstr "" @@ -2392,11 +2392,11 @@ msgstr "" msgid "Manual" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:467 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:480 msgid "Manually add an access token from your Emby server" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:484 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:540 msgid "Manually add an access token from your Jellyfin server" msgstr "" @@ -2569,10 +2569,10 @@ msgstr "" #: src/components/settings/ConnectMediaSources.tsx:44 #: src/components/settings/ffmpeg/TranscodeConfigSettingsForm.tsx:95 #: src/components/settings/ffmpeg/TranscodeConfigsTable.tsx:93 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:335 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:349 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:338 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:399 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:238 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:317 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:325 #: src/components/smart_collections/CreateSmartCollectionDialog.tsx:162 #: src/components/smart_collections/EditSmartCollectionDialog.tsx:108 #: src/components/smart_collections/SmartCollectionsTable.tsx:59 @@ -2585,10 +2585,10 @@ msgstr "" msgid "Name" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:330 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:333 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:394 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:233 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:312 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:320 msgid "Name can only contain alphanumeric characters, dashes, and underscores" msgstr "" @@ -2619,7 +2619,7 @@ msgstr "" msgid "New Custom Show" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:78 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:79 msgid "New Emby Media Source" msgstr "" @@ -2631,11 +2631,11 @@ msgstr "" msgid "New Local Media Source" msgstr "" -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:75 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:78 msgid "New Media Source" msgstr "" -#: src/components/settings/media_source/PlexServerEditDialog.tsx:78 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:79 msgid "New Plex Server" msgstr "" @@ -2707,9 +2707,9 @@ msgstr "" msgid "Not a valid number" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:282 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:296 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:216 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:283 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:344 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:217 msgid "Not a valid URL" msgstr "" @@ -2777,8 +2777,8 @@ msgstr "" msgid "Options" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:418 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:448 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:428 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:501 msgid "OR" msgstr "" @@ -2858,8 +2858,8 @@ msgstr "" msgid "Passthrough audio unchanged. Other settings will not apply." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:382 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:407 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:388 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:457 msgid "Password" msgstr "" @@ -3026,9 +3026,9 @@ msgstr "" msgid "Properties" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:284 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:298 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:218 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:285 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:346 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:219 msgid "Protocol must be HTTP or HTTPS" msgstr "" @@ -3445,9 +3445,9 @@ msgstr "" msgid "Selected Subtitle" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:305 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:319 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:239 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:307 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:368 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:241 msgid "Server is unreachable" msgstr "" @@ -4002,11 +4002,11 @@ msgstr "" msgid "Today" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:390 -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:447 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:416 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:464 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:273 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:397 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:460 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:466 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:520 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:278 msgid "toggle access token visibility" msgstr "" @@ -4081,6 +4081,18 @@ msgstr "" msgid "Tunarr runs various tasks, sometimes on a schedule, for background operations." msgstr "" +#: src/components/settings/media_source/PlexServerEditDialog.tsx:355 +msgid "Tunarr will attempt to get Plex to pull Tunarr's updated XMLTV upon regeneration" +msgstr "" + +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:571 +msgid "Tunarr will update Jellyfin's \"now playing\" state while channels are active." +msgstr "" + +#: src/components/settings/media_source/PlexServerEditDialog.tsx:375 +msgid "Tunarr will update Plex's \"now playing\" state while channels are active." +msgstr "" + #: src/pages/settings/HdhrSettingsPage.tsx:105 #: src/pages/settings/HdhrSettingsPage.tsx:108 msgid "Tuner Count" @@ -4118,16 +4130,21 @@ msgstr "" #~ msgid "Unlink from group" #~ msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:499 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:516 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:514 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:596 #: src/components/settings/media_source/LocalMediaEditDialog.tsx:338 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:360 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:394 msgid "Update" msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:291 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:305 -#: src/components/settings/media_source/PlexServerEditDialog.tsx:225 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:568 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:372 +msgid "Update Play Status" +msgstr "" + +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:292 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:353 +#: src/components/settings/media_source/PlexServerEditDialog.tsx:226 #: src/pages/settings/MediaSourceSettingsPage.tsx:88 msgid "URL" msgstr "" @@ -4144,8 +4161,8 @@ msgstr "" msgid "Use these settings to override global ffmpeg settings for this channel." msgstr "" -#: src/components/settings/media_source/EmbyServerEditDialog.tsx:357 -#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:376 +#: src/components/settings/media_source/EmbyServerEditDialog.tsx:361 +#: src/components/settings/media_source/JelllyfinServerEditDialog.tsx:426 msgid "Username" msgstr "" diff --git a/web/src/locales/pseudo-LOCALE/messages.ts b/web/src/locales/pseudo-LOCALE/messages.ts index 1e3dc7334..dcf7ca2d3 100644 --- a/web/src/locales/pseudo-LOCALE/messages.ts +++ b/web/src/locales/pseudo-LOCALE/messages.ts @@ -1 +1,4 @@ -/*eslint-disable*/import type{Messages}from"@lingui/core";export const messages=JSON.parse("{\"++nzCr\":[\"ßĩţ Ďēƥţĥ\"],\"+2JHIs\":[\"Ĺĩńķ ţō ēxĩśţĩńĝ śĺōţ\"],\"+406Vu\":[\"Vĩēŵ Ƒũĺĺ Ďēţàĩĺś\"],\"+4YwQF\":[\"# ōƒ Ƥŕōĝŕàḿś\"],\"+4mjS6\":[\"Ŕēḿōvē ĩćōń\"],\"+9EErD\":[\"Ḿũśĩć Vĩďēōś\"],\"+DmLct\":[\"Ƥŕōĝŕàḿś\"],\"+SA5Ao\":[\"À ŕōōţ ƥàţĥ ţō śćàń ƒōŕ ḿēďĩà. Ĺōćàĺ śōũŕćēś ćàń śēàŕćĥ ḿàńŷ ďĩƒƒēŕēńţ ƥàţĥś.\"],\"+TZiPJ\":[\"Śēŕvēŕ ĩś ũńŕēàćĥàƀĺē\"],\"+UPOiB\":[[\"count\",\"plural\",{\"one\":[\"ḿĩń\"],\"other\":[\"ḿĩńś\"]}]],\"+Xg5cX\":[\"Ƒĩĺĺēŕ ĩś ƥĩćķēď ƒŕēśĥ àţ śţŕēàḿ ţĩḿē ĺĩķē Ƒĺēx ţĩḿē. Ţĥē ĝũĩďē śĥōŵś \\\"Ćōḿḿēŕćĩàĺ ßŕēàķ\\\" ƥĺàćēĥōĺďēŕś.\"],\"+YdE7b\":[\"Ēńàƀĺē ŕōĺĺĩńĝ ĺōĝ ƒĩĺēś ũśĩńĝ ţĩḿē àńď/ōŕ śĩźē ƀàśēď ćŕĩţēŕĩà\"],\"+hl/7A\":[\"Ćĥàńńēĺś ćōńƒĩĝũŕēď ţō ũśē ţĥē ĤĹŚ Ďĩŕēćţ śţŕēàḿ ḿōďē ŵĩĺĺ ōũţƥũţ ĩń ţĥē śēĺēćţēď ćōńţàĩńēŕ ƒōŕḿàţ.\"],\"+k9lxR\":[\"Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ Ĺōćàĺ Ḿēďĩà Śōũŕćē\"],\"+mdNfU\":[[\"count\",\"plural\",{\"one\":[\"#\",\" ţŕàćķ\"],\"other\":[\"#\",\" ţŕàćķś\"]}]],\"+suWTj\":[\"Àďďś Ƒĺēx ƀŕēàķś ƀēţŵēēń ƥŕōĝŕàḿś, àţţēḿƥţĩńĝ ţō àvōĩď ĝŕōũƥś ōƒ ćōńśēćũţĩvē ƥŕōĝŕàḿś ţĥàţ ēxćēēď ţĥē śƥēćĩƒĩēď ńũḿƀēŕ ōƒ ḿĩńũţēś.\"],\"+tlhMz\":[\"Ƥĺēx (Ḿàńũàĺ)\"],\"+yEE7s\":[\"Ńēŵ Ḿēďĩà Śōũŕćē\"],\"+yOcRn\":[\"ĤĎĤŔ\"],\"+ya1pX\":[\"Ďēĺēţē Śĺōţ\"],\"+zY9Xc\":[\"Ćōńƒĩĝũŕē Ćŷćĺĩć Śĥũƒƒĺē\"],\"+zy2Nq\":[\"Ţŷƥē\"],\"/+ZaFm\":[\"Śōũńďţŕàćķ\"],\"/4gGIX\":[\"Ćōƥŷ ţō ćĺĩƥƀōàŕď\"],\"/6iIT9\":[\"Śēţţĩńĝś Śàvēď!\"],\"/DTWjr\":[\"Ćōńĝŕàţś, ŷōũ'ŕē ŕēàďŷ ţō śţàŕţ ƀũĩĺďĩńĝ ćĥàńńēĺś! ĵũśţ ćĺĩćķ Ƒĩńĩśĥ ƀēĺōŵ ţō śţàŕţ ŵōŕķĩńĝ ōń ŷōũŕ ƒĩŕśţ ćĥàńńēĺ.\"],\"/QmYEW\":[\"ßàĺàńćē...\"],\"/TEOcd\":[\"Ƥŕēśēţś\"],\"/e88IO\":[\"Śćĥēďũĺē ƥŕōĝŕàḿḿĩńĝ ĩń ƀĺōćķś ţĥàţ àŕē ēĩţĥēŕ ćōũńţ ōŕ ďũŕàţĩōń ƀàśēď. Ćàń ƀē ũśēď ţō ĝēńēŕàţē ŕàńďōḿ śćĥēďũĺēś.\"],\"/gavzH\":[\"ßàśĩć ƀũţţōń ĝŕōũƥ\"],\"/j3jjC\":[\"Ēŕŕōŕ ŵĥĩĺē śàvĩńĝ śēţţĩńĝś. Ƥĺēàśē ćĥēćķ ćōńśōĺē ƒōŕ ďēţàĩĺś.\"],\"/n/HCO\":[\"Ķēŷŵōŕďś\"],\"/rTz0M\":[\"Àũďĩō\"],\"/vJase\":[\"Śţŕēàḿĩńĝ\"],\"09gg05\":[\"Ƥŕōĝŕàḿḿĩńĝ\"],\"0IAEaX\":[\"Ḿàţćĥ\"],\"0MWZh1\":[\"Śēàŕćĥ ĩś ćũŕŕēńţĺŷ śćōƥēď ţō ţĥĩś Ḿēďĩà Śōũŕćē Ĺĩƀŕàŕŷ.\"],\"0VHz2s\":[\"Ƒĩĺĺēŕ Ōƥţĩōńś\"],\"0cULRy\":[\"Ēxƥēŕĩḿēńţàĺ: Ḿàķē ƥēŕƒēćţ śćĥēďũĺē ĺōōƥ\"],\"0dy9K6\":[\"Ŕēàď Ĺēśś\"],\"0mEBXY\":[\"Ďēĺēţē Ţŕàńśćōďĩńĝ Ćōńƒĩĝ \\\"\",[\"0\"],\"\\\"?\"],\"0wJVK+\":[\"ßàśĩć\"],\"0zpgxV\":[\"Ōƥţĩōńś\"],\"1/dAym\":[\"Ĝŕōũƥĩńĝ ŵōŕķś àś ƒōĺĺōŵś:\"],\"14PdY0\":[\"Ćōńƒĩĝ\"],\"1AdBl9\":[\"ßŕēàķ Ƥōśĩţĩōńĩńĝ\"],\"1BDPP1\":[\"Ĺōōķś ĺĩķē śōḿēţĥĩńĝ ŵēńţ ŵŕōńĝ.\"],\"1BGQfg\":[\"Àĺƥĥàƀēţĩćàĺĺŷ\"],\"1CFAQ+\":[\"Śēţ ƀŷ ēńvĩŕōńḿēńţ vàŕĩàƀĺē\"],\"1DxLRi\":[\"Ńō ƥŕōĝŕàḿḿĩńĝ śćĥēďũĺēď ƒōŕ ţĥĩś ţĩḿē ƥēŕĩōď\"],\"1PQRWr\":[\"Śţàŕţ Ţĩḿē\"],\"1QfxQT\":[\"Ďĩśḿĩśś\"],\"1TYXl0\":[\"Ēńţēŕ ŷōũŕ Ēḿƀŷ ƥàśśŵōŕď ţō ĝēńēŕàţē à ńēŵ àććēśś ţōķēń.\"],\"1V3Prt\":[\"Ďēĺēţĩńĝ à Ƒĩĺĺēŕ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ţĥē ćĥàńńēĺ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.\"],\"1Z90J4\":[\"Ďàŷś ţō Ƥŕēćàĺćũĺàţē\"],\"1hKEom\":[\"Ƥŕĩōŕĩţŷ\"],\"1jqDmP\":[\"Śũććēśśƒũĺĺŷ śćĥēďũĺēď \",[\"taskId\"],\" (ŕũńńĩńĝ ĩń ƀàćķĝŕōũńď).\"],\"1njn7W\":[\"Ĺĩĝĥţ\"],\"2BBAbc\":[\"Ĺĩśţ\"],\"2BRPyl\":[\"Śŷśţēḿ Ĩńƒō\"],\"2CVuYr\":[\"Śḿàŕţ Ćōĺĺēćţĩōń - \",[\"0\"]],\"2L7cj6\":[\"Ŷōũ ĥàvēń'ţ ćŕēàţēď àńŷ ćĥàńńēĺś ŷēţ.\"],\"2QLniG\":[\"Ēxĩśţĩńĝ ǫũēŕŷ: \",[\"filterString\"]],\"2eFlmt\":[\"Ţŕàćķś\"],\"2hOCU2\":[\"Śḿàŕţ Ćōĺĺēćţĩōńś\"],\"2imNg3\":[\"Ŵēƀ vēŕśĩōń = \",[\"0\"],\", Śēŕvēŕ vēŕśĩōń = \",[\"1\"]],\"2mAJXf\":[\"Ḿàķēś ḿũĺţĩƥĺē ćōƥĩēś ōƒ ţĥē śćĥēďũĺē àńď ƥĺàŷś ţĥēḿ ĩń śēǫũēńćē. Ńōŕḿàĺĺŷ ţĥĩś ĩśń'ţ ńēćēśśàŕŷ, ƀēćàũśē Ţũńàŕŕ ŵĩĺĺ àĺŵàŷś ƥĺàŷ ţĥē śćĥēďũĺē ƀàćķ ƒŕōḿ ţĥē ƀēĝĩńńĩńĝ ŵĥēń ĩţ ƒĩńĩśĥēś. ßũţ ćŕēàţĩńĝ ŕēƥĺĩćàś ĩś à ũśēƒũĺ ĩńţēŕḿēďĩàŕŷ śţēƥ śōḿēţĩḿēś ƀēƒōŕē àƥƥĺŷĩńĝ ōţĥēŕ ţŕàńśƒōŕḿàţĩōńś. Ńōţē ţĥàţ ƀēćàũśē vēŕŷ ĺàŕĝē ćĥàńńēĺś ćàń ƀē ƥŕōƀĺēḿàţĩć, ţĥē ńũḿƀēŕ ōƒ ŕēƥĺĩćàś ŵĩĺĺ ƀē ĺĩḿĩţēď ţō àvōĩď ćŕēàţĩńĝ ŕēàĺĺŷ ĺàŕĝē ćĥàńńēĺś.\"],\"2oWehJ\":[\"Ŕēśēţ ţō ćũŕŕēńţ ďàţē/ţĩḿē\"],\"2vxecF\":[\"Śĥōŵ Śţēàĺţĥ\"],\"2x4THe\":[\"\\\"\",[\"0\"],\"\\\" Śēśśĩōńś\"],\"312fSE\":[\"Śēĺēćţ Śĥōŵś ţō Ŕēḿōvē\"],\"315BhT\":[\"Àĺƥĥàƀēţĩćàĺ\"],\"3JIYke\":[\"Ĥēàĺţĥŷ?\"],\"3JQkm5\":[\"Ƥàţĥ Ŕēƥĺàćēḿēńţś\"],\"3JjdaA\":[\"Ŕũń\"],\"3LfNqe\":[\"Ćĥàńńēĺ Ńũḿƀēŕ\"],\"3SH6Vv\":[\"Ćōƥĩēď ćĥàńńēĺ \\\"\",[\"channelName\"],\"\\\" ḿ3ũ ĺĩńķ ţō ćĺĩƥƀōàŕď\"],\"3YNjnA\":[\"Śŷśţēḿ Ēńvĩŕōńḿēńţ\"],\"3b1vGb\":[\"Ńēŵ Ĺōćàĺ Ḿēďĩà Śōũŕćē\"],\"3mAQJI\":[\"Ĥōŵ ōƒţēń ţĥē XḾĹŢV ƒĩĺē ĩś ŕēĝēńēŕàţēď\"],\"3nLdaX\":[\"Àďď \",[\"0\"]],\"3nwcC5\":[\"Ƒĩĺĺēŕ - \",[\"0\"]],\"49dCCB\":[\"Ũśē Śĥōŵ Ƥōśţēŕ\"],\"4Fpcxu\":[\"Ĩńĩţĩàĺ Ďēĺàŷ (ḿĩńũţēś)\"],\"4NbDEd\":[\"Ďēĺēţĩńĝ à Ćũśţōḿ Śĥōŵ ŵĩĺĺ ŕēḿōvē ĩţś ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ćĥàńńēĺś ţĥàţ ũśē ĩţ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.\"],\"4Uc/2h\":[\"Śēŕvēŕ Ĺĩśţēń Ƥōŕţ\"],\"4VxpoP\":[\"Ḿũśĩć ţŕàćķś àŕē ĝŕōũƥēď ƀŷ àŕţĩśţ\"],\"4XSc4l\":[\"Ŵēēķĺŷ\"],\"4XfYeY\":[\"Ŕàńďōḿ (ƀŷ śĥōŵ)\"],\"4fLgiT\":[\"Àĺĺōŵ Ĩḿàĝē ßàśēď\"],\"4qmJK4\":[\"Ţũńàŕŕ ßàćķēńď ŨŔĹ\"],\"4wkwyL\":[\"Ďĩśàƀĺē Ĥàŕďŵàŕē Ƒĩĺţēŕś\"],\"4yQF++\":[\"Ćũśţōḿ śĥōŵ ƥŕōĝŕàḿś àŕē ĝŕōũƥēď ƀŷ ţĥēĩŕ ƥàŕēńţ śĥōŵ\"],\"50whWJ\":[\"XḾĹŢV Ĺĩńķ:\"],\"53/4tH\":[\"Àũďĩō Ōƥţĩōńś\"],\"536Xwe\":[\"Ēŕŕōŕ ćōƥŷĩńĝ ţō ćĺĩƥƀōàŕď!\"],\"53tfay\":[\"Ţĥĩś àĺĺōŵś ţō śćĥēďũĺē śƥēćĩƒĩć śĥōŵś ţō ŕũń àţ śƥēćĩƒĩć ţĩḿē śĺōţś ōƒ ţĥē ďàŷ ōŕ à ŵēēķ. Ĩţ'ś ŕēćōḿḿēńďēď ŷōũ ƒĩŕśţ ƥōƥũĺàţē ţĥē ćĥàńńēĺ ŵĩţĥ ţĥē ēƥĩśōďēś ƒŕōḿ ţĥē śĥōŵś ŷōũ ŵàńţ ţō ƥĺàŷ àńď/ōŕ ōţĥēŕ ćōńţēńţ ĺĩķē ḿōvĩēś àńď ŕēďĩŕēćţś.\"],\"5ABghp\":[\"ƑƑḿƥēĝ Śēţţĩńĝś\"],\"5V93hk\":[\"Śćĥēďũĺē ƥŕōĝŕàḿḿĩńĝ ũśĩńĝ śĺōţś àśśĩĝńēď à śţàŕţ ţĩḿē àńď ďũŕàţĩōń.\"],\"5WeWGz\":[\"Śēĺēćţēď Śũƀţĩţĺē\"],\"5k0NLb\":[\"Ŕēvĩēŵ\"],\"5lSgNP\":[\"Ēńàƀĺē ŚŚĎƤ śēŕvēŕ\"],\"5nsbxB\":[\"Àĺţēŕńàţēś ŢV śĥōŵś ĩń ƀĺōćķś ōƒ ēƥĩśōďēś. Ŷōũ ćàń ƥĩćķ ţĥē ńũḿƀēŕ ōƒ ēƥĩśōďēś ƥēŕ śĥōŵ ĩń ēàćĥ ƀĺōćķ àńď ĩƒ ţĥē ōŕďēŕ ōƒ śĥōŵś ĩń ēàćĥ ƀĺōćķ śĥōũĺď ƀē ŕàńďōḿĩźēď. Ḿōvĩēś àŕē ḿōvēď ţō ţĥē ƀōţţōḿ.\"],\"5qV3NN\":[\"Ƒĺēx Śţŷĺē\"],\"5yIPLp\":[\"Ōōƥś!\"],\"6/dCYd\":[\"Ōvēŕvĩēŵ\"],\"63/DSM\":[\"Ţŕàńśćōďĩńĝ Ćōńƒĩĝś\"],\"63driG\":[\"Śţŕēàḿ ĵŚŌŃ\"],\"67RoFa\":[\"Ƥĩƥēĺĩńē\"],\"6Y9c2m\":[\"Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ \",[\"0\"],\" ōţĥēŕ śĺōţ(ś). Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ.\"],\"6YtxFj\":[\"Ńàḿē\"],\"6ZMWKw\":[\"XḾĹŢV\"],\"6bbWRs\":[\"Àďď ƥŕōĝŕàḿḿĩńĝ ţō ćũśţōḿ śĥōŵ\"],\"6dvIbw\":[\"Ũńĺĩńķ\"],\"6jAi8c\":[\"Ŕàńĝē\"],\"6jfS51\":[\"Ŵēĺćōḿē\"],\"6ki7F2\":[[\"0\",\"plural\",{\"one\":[\"#\",\" ĩţēḿ\"],\"other\":[\"#\",\" ĩţēḿś\"]}]],\"6mJ9tF\":[\"ƑƑḾƤĒĜ ĩś ńōţ ďēţēćţēď.\"],\"6mpwdR\":[\"Ḿàţćĥ àĺĺ ōƒ\"],\"6pL6be\":[\"Ćōńƒĩĝũŕē ŵĥàţ àƥƥēàŕś ōń ŷōũŕ ćĥàńńēĺ ŵĥēń ţĥēŕē ĩś ńō śũĩţàƀĺē ƒĩĺĺēŕ ćōńţēńţ àvàĩĺàƀĺē. Ũśĩńĝ ćĥàńńēĺ ƒàĺĺƀàćķś ŕēǫũĩŕēś ƒƒḿƥēĝ ţŕàńśćōďĩńĝ.\"],\"6w0yiE\":[\"ƑƑḾƤĒĜ Ĺōĝ Ĺēvēĺ\"],\"6zfUar\":[\"Śţŕēàḿ Śēĺēćţĩōń\"],\"71O7b0\":[\"Ḿēďĩà Ĩńƒō\"],\"73XwX0\":[\"Ńō ƥŕōĝŕàḿś śēĺēćţēď\"],\"73flfT\":[\"ǪŚV Ďēvĩćē\"],\"7B3lfh\":[\"Ĩţēḿś ƒŕōḿ àńŷ ƒĩĺĺēŕ ĺĩśţ ŵĩĺĺ ńōţ ƀē ćĥōśēń ḿōŕē ƒŕēǫũēńţĺŷ ţĥàń ţĥĩś ćōōĺďōŵń śēţţĩńĝ.\"],\"7LWPgS\":[\"Ēńàƀĺēď (ĺōũďńōŕḿ)\"],\"7ODkf5\":[\"Ĺōĝ ĺēvēĺ ţō ƥàśś ţō ƒƒḿƥēĝ. Ŕēàď ḿōŕē àƀōũţ ƒƒḿƥēĝ'ś ĺōĝ ĺēvēĺś <0>ĥēŕē\"],\"7Q5AKf\":[[\"count\",\"plural\",{\"one\":[\"ţŕàćķ\"],\"other\":[\"ţŕàćķś\"]}]],\"7b2stB\":[\"Ḿēďĩà Ţŷƥē\"],\"7eMo+U\":[\"Ĝō Ĥōḿē\"],\"7eZlTH\":[\"Śōŕţ ŢV Śĥōŵś (àść)\"],\"7iJlKU\":[\"Ƥĺēàśē ćĥōōśē à vàĺũē ĝŕēàţēŕ ţĥàń 1\"],\"7pMNGK\":[\"Ƥŕōĝŕàḿś śàvēď!\"],\"7sNhEz\":[\"Ũśēŕńàḿē\"],\"7tvV2B\":[\"Ḿĩń Ďũŕàţĩōń (ḿĩńũţēś)\"],\"7uohY3\":[\"ŢV śĥōŵś àŕē ĝŕōũƥēď ƀŷ śĥōŵ\"],\"80t7Ii\":[\"Ĩńćŕēàśĩńĝ \\\"Ḿàx Ĺàţēńēśś\\\" ƒōŕ ţĥē śćĥēďũĺē.\"],\"87a/t/\":[\"Ĺàƀēĺ\"],\"8E9KXK\":[\"Ƒēàţũŕē ƒĺàĝś śàvēď!\"],\"8MIU1T\":[\"Ƥŕōĝŕàḿ\"],\"8TMaZI\":[\"Ţĩḿēśţàḿƥ\"],\"8ZsakT\":[\"Ƥàśśŵōŕď\"],\"8vETh9\":[\"Śĥōŵ\"],\"8wngZM\":[\"Ƒàĺĺƀàćķ\"],\"8wu9lr\":[\"Ǫũēũēď\"],\"9+90+V\":[\"Ēńàƀĺē Ĺōĝ Ƒĩĺē Ŕōĺĺĩńĝ\"],\"94qSvE\":[\"Śŷńćēď ŵĩţĥ ēxţēŕńàĺ ƥĺàŷĺĩśţ\"],\"96zw7M\":[\"Ţĥĩś śĥōŵ ĩś ḿàŕķēď àś ḿĩśśĩńĝ ĩń ţĥē ďàţàƀàśē.\"],\"983IRa\":[\"Àĺĺ ĺĩńķēď śĺōţś śĥōŵ ţĥē śàḿē ēƥĩśōďē, àďvàńćĩńĝ ōńĺŷ àƒţēŕ àĺĺ ĥàvē ƥĺàŷēď.\"],\"9E+eyD\":[\"Ōũţƥũţ vĩďēō àţ à ćōńśţàńţ ƒŕàḿē ŕàţē.\"],\"9E9tRC\":[\"Ƒĩĺĺ ŵĩţĥ Ƒĺēx\"],\"9Eq43e\":[\"Ĩƒ śēţ, àĺĺ ŵàţēŕḿàŕķ ōvēŕĺàŷś ŵĩĺĺ ƀē ďĩśàƀĺēď ƒōŕ ćĥàńńēĺś àśśĩĝńēď ţĥĩś ţŕàńśćōďē ćōńƒĩĝ.\"],\"9GPYnX\":[\"Ďō ńōţ ĝŕōũƥ ƥŕōĝŕàḿś àţ àĺĺ. Ńōŕḿàĺ śĥũƒƒĺē.\"],\"9WG5wy\":[\"Śƥēćĩàĺś\"],\"9asVsi\":[\"Ĥōŵ ĺōńĝ ēàćĥ ćōḿḿēŕćĩàĺ ƀŕēàķ ĺàśţś\"],\"9qdNKR\":[\"Ēŕŕōŕ Ōƥţĩōńś\"],\"9sqrEU\":[\"Ƒĩĺĺēŕ Ĺĩśţ\"],\"9td1Wl\":[\"Ćĥēćķ\"],\"9vtG84\":[\" Śćĥēďũĺĩńĝ Śţŕàţēĝŷ\"],\"A+GCyx\":[\"Ĥĩďē Àďvàńćēď\"],\"A0+T6c\":[\"Ŕēśēţ Ćĥàńĝēś\"],\"A1taO8\":[\"Śēàŕćĥ\"],\"A7WmPm\":[\"Ńēŵ Ƥĺēx Śēŕvēŕ\"],\"A9Rhec\":[\"Ćĥàńńēĺ Ńàḿē\"],\"ACKu03\":[\"Ŕēƒŕēśĥ Ƥŕēvĩēŵ\"],\"AKjNTL\":[\"Àďď Ƥàďďĩńĝ\"],\"AM972O\":[\"Àďď Ŕēďĩŕēćţ\"],\"ANICN0\":[\"Ńō ḿēďĩà śōũŕćēś ćōńńēćţēď.\"],\"AO2Z5d\":[\"Ḿōvĩē, \",[\"0\"]],\"AOHgZp\":[\"Ēƥĩśōďēś\"],\"AVKoQM\":[\"Ŕēďĩŕēćţ ţō \\\"\",[\"0\"],\"\\\"\"],\"AXg7m0\":[\"Śēàŕćĥ ĩś ćũŕŕēńţĺŷ śćōƥēď ţō ţĥĩś Ḿēďĩà Śōũŕćē.\"],\"AXjA78\":[\"Ƒĩēĺď\"],\"AdfhAd\":[\"Ĩƒ ţĥēŕē àŕē ĩśśũēś ƥĺàŷĩńĝ à vĩďēō, Ţũńàŕŕ ŵĩĺĺ ţŕŷ ţō ũśē àń ēŕŕōŕ śćŕēēń àś à ƥĺàćēĥōĺďēŕ ŵĥĩĺē ŕēţŕŷĩńĝ ĺōàďĩńĝ ţĥē vĩďēō ēvēŕŷ 60 śēćōńďś.\"],\"AdogaJ\":[\"Ƥĩƥēĺĩńē Śţēƥś\"],\"AlfqgK\":[\"Ŵàţćĥ\"],\"ApsQAb\":[\"ĤĎĤŔ: Ĺōàďĩńĝ...\"],\"AyInY5\":[\"Vĩďēō Ōƥţĩōńś\"],\"AzCYkg\":[\"Ćōńńēćţ Ḿēďĩà Śōũŕćēś\"],\"B+HsXP\":[\"ƑƑḾƤĒĜ: \",[\"0\"]],\"B1NOvD\":[\"Ŕēḿōvēś àĺĺ ƥŕōĝŕàḿś ƒŕōḿ śćĥēďũĺē\"],\"B1W8vw\":[\"Ďēĺēţē \\\"\",[\"0\"],\"\\\"\"],\"BGHH1t\":[\"Ḿĩń. Vĩśĩƀĺē ĩń Ĝũĩďē Ďũŕàţĩōń Ƥŕōĝŕàḿ (śēćōńďś)\"],\"BJjJuo\":[\"ĒƤĜ (Ĥōũŕś)\"],\"BMlGCC\":[\"Ćĺĩćķ ţō ƥŕēvĩēŵ ţĥē ĩţēḿś ĩń ţĥĩś Ćũśţōḿ Śĥōŵ. Ńōţē ţĥàţ ōńĺŷ ţĥē ŵĥōĺē śĥōŵ ćàń ƀē àďďēď àţ ōńćē.\"],\"BQsifH\":[\"Śţŕēàḿ Ĩńƒō\"],\"BWTzAb\":[\"Ḿàńũàĺ\"],\"BXXjCD\":[\"ƑƑḿƥēĝ ńōţ ƒōũńď. Ƒōŕ àĺĺ ƒēàţũŕēś ţō ŵōŕķ, ŵē ŕēćōḿḿēńď ĩńśţàĺĺĩńĝ ƑƑḿƥēĝ 7.1+ ōŕ ũƥďàţē ŷōũŕ ƑƑḿƥēĝ ēxēćũţàƀĺē ƥàţĥ ĩń śēţţĩńĝś.\"],\"BaUuhR\":[\"Ćōďēć\"],\"BlmmxH\":[\"ƑƑḿƥēĝ Ĺōĝ\"],\"Bq0ryo\":[\"Ŕēśēţ Ōƥţĩōńś\"],\"BtL93c\":[[\"0\",\"plural\",{\"one\":[\"#\",\" śōũŕćē ćōńńēćţēď.\"],\"other\":[\"#\",\" śōũŕćēś ćōńńēćţēď.\"]}]],\"C4KL42\":[\"Ćōńśōĺĩďàţēś ćōńţĩĝũōũś ḿàţćĥ ƒĺēx àńď ŕēďĩŕēćţ ƀĺōćķś ĩńţō śĩńĝũĺàŕ śƥàńś\"],\"C6jEO3\":[\"Ĺōĝ Ĺēvēĺ\"],\"CAiikc\":[\"Ēńţēŕ ŷōũŕ ĵēĺĺŷƒĩń ƥàśśŵōŕď ţō ĝēńēŕàţē à ńēŵ àććēśś ţōķēń.<0/><1>ŃŌŢĒ: Ţĥēśē àŕē ńēvēŕ śàvēď ţō ţĥē Ţũńàŕŕ Ďß. Ĩńśţēàď ţĥēŷ àŕē śēńţ ţō ĵēĺĺŷƒĩń ţō ēxćĥàńĝē ƒōŕ à śēśśĩōń ţōķēń.\"],\"CJkEfx\":[\"ßĺōćķ\"],\"CKQ3t3\":[\"Ţōţàĺ Ŕũńţĩḿē\"],\"CMQ09J\":[\"Śćàńńĩńĝ\"],\"COv7As\":[\"Ćōōĺďōŵń (śēćōńďś)\"],\"CRsuq4\":[\"Ēvēŕŷ\"],\"CVqySE\":[[\"len\",\"plural\",{\"one\":[\"Ţĥēŕē ĩś \",\"#\",\" ŵàŕńĩńĝ. Ćĺĩćķ ƒōŕ ďēţàĩĺś.\"],\"other\":[\"Ţĥēŕē àŕē \",\"#\",\" ŵàŕńĩńĝś. Ćĺĩćķ ƒōŕ ďēţàĩĺś.\"]}]],\"CWRFGq\":[\"Ḿōďĩƒŷ Ƥŕōĝŕàḿḿĩńĝ\"],\"CXDHcv\":[\"Ĝŕĩď\"],\"CcX8VV\":[\"Ćōḿƥĺēţēĺŷ ŕàńďōḿĩźēś ţĥē ōŕďēŕ ōƒ ƥŕōĝŕàḿś.\"],\"CeyB7O\":[\"ƑƑḿƥēĝ Ēxēćũţàƀĺē Ƥàţĥ\"],\"CfOWar\":[\"Ĺōĝàŕĩţĥḿĩć ďēćàŷ, ĺĩĝĥţēŕ ŵēĩĝĥţĩńĝ.\"],\"CfUvtM\":[\"Ēŕŕōŕ śàvĩńĝ ńēŵ Śḿàŕţ Ćōĺĺēćţĩōń. Ćĥēćķ śēŕvēŕ ĺōĝś àńď ƀŕōŵśēŕ ćōńśōĺē ƒōŕ ďēţàĩĺś.\"],\"CfxLtO\":[\"Ƥŕōĝŕàḿ ĵŚŌŃ\"],\"Cko536\":[\"Ďēśćēńďĩńĝ\"],\"Cp5Awv\":[\"Ďũŕàţĩōń ḿũśţ ƀē ĝŕēàţēŕ ţĥàń 0.\"],\"CqSP2T\":[\"Ēďĩţ Ćĥàńńēĺ Ŕēďĩŕēćţ\"],\"CsrDsg\":[\"12-ĥōũŕ\"],\"Cxqf0C\":[\"Ƥĺēx (Àũţō)\"],\"D+NlUC\":[\"Śŷśţēḿ\"],\"D1Fhv3\":[[\"count\",\"plural\",{\"one\":[\"ēƥĩśōďē\"],\"other\":[\"ēƥĩśōďēś\"]}]],\"DPfwMq\":[\"Ďōńē\"],\"DRya1t\":[\"Àũďĩō Vōĺũḿē\"],\"DSwJ9W\":[\"Ēńàƀĺē Àńĩḿàţĩōń\"],\"DUd3Ss\":[\"Śōŕţś ţĥē ĺĩśţ ƀŷ ŢV Śĥōŵ àńď ţĥē ēƥĩśōďēś ĩń ēàćĥ ŢV śĥōŵ ƀŷ ţĥēĩŕ śēàśōń/ēƥĩśōďē ńũḿƀēŕ. Ḿōvĩēś àŕē ḿōvēď ţō ţĥē ƀōţţōḿ ōƒ ţĥē śćĥēďũĺē.\"],\"DbouLP\":[\"ßàćķ ţō Ƥŕōĝŕàḿḿĩńĝ\"],\"Dd9orS\":[\"Ŕēḿōvē Àĺĺ \",[\"movieCount\"],\" \",[\"movieCount\",\"plural\",{\"one\":[\"Ḿōvĩē\"],\"other\":[\"Ḿōvĩēś\"]}]],\"Dnn2XG\":[\"Àũţōḿàţĩć\"],\"DoJzLz\":[\"Ćōĺĺēćţĩōńś\"],\"DxvGLB\":[\"Àďď Śĺōţ\"],\"E/QGRL\":[\"Ďĩśàƀĺēď\"],\"E5ipHC\":[\"ßàĺàńćē ßŷ:\"],\"E8oclZ\":[\"Ćōƥĩēď Ćĥàńńēĺ ĨĎ!\"],\"EKlukx\":[\"Ćōƥŷ Ƒũĺĺ Ŕēƥōŕţ\"],\"EL4/HD\":[[\"0\",\"plural\",{\"one\":[\"ƥŕōĝŕàḿ\"],\"other\":[\"ƥŕōĝŕàḿś\"]}]],\"EdQY6l\":[\"Ńōńē\"],\"EkH9pt\":[\"Ũƥďàţē\"],\"Etie0Q\":[\"Àĺĺ ćĥàńńēĺś àśśĩĝńēď ţō ţĥĩś ćōńƒĩĝ ŵĩĺĺ ƀē śēţ ţō ũśē ţĥē ďēƒàũĺţ ćōńƒĩĝũŕàţĩōń. Ĩƒ ţĥĩś ĩś ţĥē ĺàśţ ćōńƒĩĝũŕàţĩōń, à ńēŵ ďēƒàũĺţ ćōńƒĩĝũŕàţĩōń ŵĩĺĺ ƀē ćŕēàţēď.\"],\"Eu20Os\":[\"Ţĩḿē Śĺōţś\"],\"Ev2r9A\":[\"Ńō ŕēśũĺţś\"],\"F1l877\":[\"Śũƀţĩţĺē Śţŕēàḿś\"],\"F3bW6y\":[\"Ƥĺàţƒōŕḿ\"],\"F3smBd\":[\"Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ďàŷś ţō ƥŕēćàĺćũĺàţē ţĥē śćĥēďũĺē. Ńōţē ţĥàţ ţĥē ĺēńĝţĥ ōƒ ţĥē śćĥēďũĺē ĩś àĺśō ƀōũńďēď ƀŷ ţĥē ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś àĺĺōŵēď ĩń à ćĥàńńēĺ.<0/><1>Ńōţē: Ƥŕēvĩēŵĩńĝ ţĥē śćĥēďũĺē ĩń ţĥē ƀŕōŵśēŕ ƒōŕ ĺōńĝ ĺēńĝţĥś ōƒ ţĩḿē ćàń ćàũśē ŨĨ ƥēŕƒōŕḿàńćē ĩśśũēś\"],\"FDEfoy\":[\"Ďēĺēţĩńĝ à ḿēďĩà śōũŕćē ŵĩĺĺ ŕēḿōvē àĺĺ ōƒ ĩţś àśśōćĩàţēď ƥŕōĝŕàḿś ƒŕōḿ Ţũńàŕŕ.\"],\"FXCwT9\":[\"ƑƑƥŕōƀē Ēxēćũţàƀĺē Ƥàţĥ\"],\"FZg3wM\":[\"Ōƥēŕàţĩōń\"],\"FmN5me\":[\"Ŕēśōĺũţĩōń\"],\"FnChN1\":[\"Ēńàƀĺē <0>ĒßŨ Ŕ 128 ĺōũďńēśś ńōŕḿàĺĩźàţĩōń vĩà ţĥē <1>ĺōũďńōŕḿ ƑƑḿƥēĝ ƒĩĺţēŕ. Ḿàŷ ĩńćŕēàśē ĆƤŨ ũśàĝē ďũŕĩńĝ śţŕēàḿĩńĝ.\"],\"Fp7p73\":[\"Ţĩḿē ƀēţŵēēń śũƀśēǫũēńţ ƀŕēàķś\"],\"FqCHF/\":[\"Ţĥŕēàďś\"],\"FrRP21\":[\"Ţĥēŕē ŵàś àń ēŕŕōŕ ŵĥēń śũƀḿĩţţĩńĝ ţĥē ƒōŕḿ. Ƥĺēàśē śēē ćōńśōĺē ĺōĝś ƒōŕ ďēţàĩĺś.\"],\"FsF4bb\":[\"Àũďĩō Ĺōũďńēśś Ńōŕḿàĺĩźàţĩōń\"],\"FssFce\":[\"Ćōńƒĩĝũŕē ƥŕēƒēŕŕēď àũďĩō ĺàńĝũàĝēś ĝĺōƀàĺĺŷ.\"],\"Fzn/BQ\":[\"Ŕēĺēàśē Ďàţē\"],\"G+8qH5\":[\"Ćĥàńńēĺ ńàḿē ĩś ŕēǫũĩŕēď\"],\"GDKKxT\":[\"Àććēśś Ţōķēń\"],\"GHOK4Z\":[\"Ţĩḿē Ƒōŕḿàţ\"],\"GJ1P5j\":[\"Ƒĩĺē à ßũĝ Ŕēƥōŕţ\"],\"GKLqtE\":[\"Śēţ ţĥē ĥōśţ ōƒ ŷōũŕ Ţũńàŕŕ ƀàćķēńď. Ŵĥēń ēḿƥţŷ, ţĥē ŵēƀ ŨĨ ŵĩĺĺ ũśē ţĥē ćũŕŕēńţ ĥōśţ/ƥōŕţ ţō ćōḿḿũńĩćàţē ŵĩţĥ ţĥē ƀàćķēńď.\"],\"GLOZdc\":[\"Ćũśţōḿ Śĥōŵś\"],\"GP/CFo\":[\"ĤŴ Àććēĺ\"],\"GQ3O42\":[\"Ţŕàśĥ\"],\"GRCrpV\":[\"Ḿàńàĝē Ĺĩƀŕàŕĩēś\"],\"GUtCZC\":[\"Vēŕśĩōń: \",[\"0\"]],\"GhZ4GX\":[\"Ēŕŕōŕ ŵĥĩĺē ćōƥŷĩńĝ ţō ćĺĩƥƀōàŕď. Ćĥēćķ ƀŕōŵśēŕ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"GmP0oY\":[\"Śĺōţ Ŵàŕńĩńĝś\"],\"GmTnBN\":[\"Ēńàƀĺē ƒƒḿƥēĝ ĺōĝĝĩńĝ ţō ďĩƒƒēŕēńţ śĩńķś. Ōũţƥũţţĩńĝ ţō à ƒĩĺē ŵĩĺĺ ćŕēàţē à ńēŵ ĺōĝ ƒĩĺē ƒōŕ ēvēŕŷ śƥàŵńēď ƒƒḿƥēĝ ƥŕōćēśś ĩń ţĥē Ţũńàŕŕ ĺōĝ ďĩŕēćţōŕŷ. Ţĥēśē ƒĩĺēś àŕē àũţōḿàţĩćàĺĺŷ ćĺēàńēď ũƥ ƀŷ à ƀàćķĝŕōũńď ƥŕōćēśś.\"],\"Gr1Ik2\":[\"Ńvĩďĩà Ćàƥàƀĩĺĩţĩēś\"],\"GtycJ/\":[\"Ţàśķś\"],\"GzzMwi\":[\"Ŕōĺĺ ōń Śćĥēďũĺē\"],\"H0QGc9\":[\"Ƒĩĺĺēŕ Ĺĩśţ Ćōōĺďōŵń (śēćōńďś)\"],\"H1OFlu\":[\"Ĩńvēŕśē ĺĩńēàŕ ďēćàŷ, ĥēàvĩēŕ ŵēĩĝĥţĩńĝ.\"],\"H1V+2G\":[\"Ţō ũśē Ţũńàŕŕ, ŷōũ ḿũśţ ƒĩŕśţ ćōńńēćţ àţ ĺēàśţ ōńē ḿēďĩà śōũŕćē. Ḿēďĩà śōũŕćēś ƥŕōvĩďē àĺĺ ćōńţēńţ ũśēď ţō ćŕēàţē ćĥàńńēĺś ĩń Ţũńàŕŕ. Ƥĺēx àńď ĵēĺĺŷƒĩń àŕē ćũŕŕēńţĺŷ śũƥƥōŕţēď.\"],\"H3OF1s\":[\"Ţũńēŕ Ćōũńţ\"],\"H7OUPr\":[\"Ďàŷ\"],\"H8100o\":[\"Ƒĩĺĺēŕ ĺĩśţś àŕē ćōĺĺēćţĩōńś ōƒ vĩďēōś ţĥàţ ŷōũ ḿàŷ ŵàńţ ţō ƥĺàŷ ďũŕĩńĝ 'ƒĺēx' ţĩḿē śēĝḿēńţś. Ƒĺēx ĩś ţĩḿē ŵĩţĥĩń à ćĥàńńēĺ ţĥàţ ďōēś ńōţ ĥàvē à ƥŕōĝŕàḿ śćĥēďũĺēď (ũśũàĺĺŷ ũśēď ƒōŕ ƥàďďĩńĝ).\"],\"HDoQBx\":[\"Ćĥàńńēĺ śēţţĩńĝś śàvēď!\"],\"HEH0PR\":[\"Ḿũśţ ďēƒĩńē àţ ĺēàśţ ōńē ĺàńĝũàĝē ƥŕēƒēŕēńćē\"],\"HErtdg\":[\"Ńàḿē ćàń ōńĺŷ ćōńţàĩń àĺƥĥàńũḿēŕĩć ćĥàŕàćţēŕś, ďàśĥēś, àńď ũńďēŕśćōŕēś\"],\"HLlLPP\":[\"Ćĥàńńēĺ Śţŕēàḿ Ḿōďē\"],\"HMWEIt\":[\"Ēďĩţ Ƒĺēx Ţĩḿē\"],\"HOLbdk\":[\"Ƒàĩĺēď ţō ĺōàď śţŕēàḿ ďēţàĩĺś! Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"HSfauP\":[\"Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ \",[\"0\"],\" ōţĥēŕ \",[\"1\",\"plural\",{\"one\":[\"śĺōţ\"],\"other\":[\"śĺōţś\"]}],\". Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ.\"],\"HVpg3x\":[\"Ƒàĩĺēď ţō ĺōàď Śḿàŕţ Ćōĺĺēćţĩōń\"],\"HXx+vU\":[\"Ćōńţŕōĺś ŵĥàţ ĥàƥƥēńś ŵĥēń ţĥĩś śĺōţ ŕũńś ōũţ ōƒ ŕēƥĺàŷēď ćōńţēńţ ƒŕōḿ ēàŕĺĩēŕ ćōńţĩńũē śĺōţś.\"],\"HYCPKT\":[\"Àďď Śēĺēćţēď Ḿēďĩà\"],\"HajiZl\":[\"Ḿōńţĥ\"],\"HdE1If\":[\"Ćĥàńńēĺ\"],\"Hjfx9G\":[\"Àũďĩō & Śũƀţĩţĺēś\"],\"HmHwcC\":[\"Ƒĩxēď Ĩńţēŕvàĺ\"],\"HptUxX\":[\"Ńũḿƀēŕ\"],\"HqUilK\":[\"Ķēŷŵōŕďś ƥēŕƒōŕḿ ƒũĺĺ ţēxţ śēàŕćĥ àćŕōśś àĺĺ (ōŕ ćōńƒĩĝũŕēď) ƒĩēĺďś\"],\"HzV8B2\":[\"Śķĩƥ ḿĩď-ŕōĺĺ ƒōŕ ƥŕōĝŕàḿś śĥōŕţēŕ ţĥàń ţĥĩś\"],\"I+FvbD\":[\"Śćàń\"],\"I2Bar3\":[\"Śĥōŵś\"],\"I5BU70\":[\"Śḿàŕţ Ćōĺĺēćţĩōń: \",[\"0\"]],\"I6gXOa\":[\"Ƥàţĥ\"],\"IDlmXg\":[\"Ţũńàŕŕ ßàćķēńď ŨŔĹ:\"],\"IFiQdD\":[\"Ćĥàńńēĺś Ḿ3Ũ Ĺĩńķ:\"],\"IMxI++\":[\"Ńōţ à vàĺĩď ŨŔĹ\"],\"INCbO6\":[\"Ōń-Ďēḿàńď ćĥàńńēĺś ŕēśũḿē ƒŕōḿ ŵĥēŕē ŷōũ ĺēƒţ ōƒƒ. Ƥŕōĝŕàḿḿĩńĝ ĩś ƥàũśēď ŵĥēń ţĥē ćĥàńńēĺ ĩś ńōţ śţŕēàḿĩńĝ.<0/><1>ŃŌŢĒ: Ŵĥĩĺē ţĥē ćĥàńńēĺ ĩś ĩńàćţĩvē, ţĥē ŢV Ĝũĩďē ƒōŕ ţĥē ćĥàńńēĺ ŵĩĺĺ ƀē ēḿƥţŷ.\"],\"IagCbF\":[\"ŨŔĹ\"],\"IetKlB\":[\"Ńēŵ Ćũśţōḿ Śĥōŵ\"],\"IgC1fP\":[\"Ēńàƀĺē ĺĩĝĥţ Ḿōďē\"],\"IiBgkW\":[\"Ƒàĩĺēď ţō ũƥďàţē Ḿēďĩà Śōũŕćē śēţţĩńĝś. Ƥĺēàśē ćĥēćķ śēŕvēŕ àńď ƀŕōŵśēŕ ĺōĝś ƒōŕ ďēţàĩĺś.\"],\"IoSxk9\":[\"Ƥŕōţōćōĺ ḿũśţ ƀē ĤŢŢƤ ōŕ ĤŢŢƤŚ\"],\"IvkbIT\":[\"Ŕēàď Ḿōŕē\"],\"J/eF78\":[\"Ŕēḿōvĩńĝ ōvēŕŕũń ƥŕōĝŕàḿś ƒŕōḿ ţĥē ćĥàńńēĺ.\"],\"J0NKO1\":[\"Ēxćĺũďē Śēàśōńś\"],\"J2eKUI\":[\"Ƒĩĺē\"],\"J2lnQW\":[\"Ƥŕē\"],\"J41wt0\":[\"Śĺōţ Ēďĩţōŕ\"],\"J4Ngmi\":[\"Ĺōōƥ Śĥōŕţ Ƥŕōĝŕàḿś\"],\"J50/e4\":[\"Ƒĩĺţēŕ Ţŷƥē\"],\"J8X80J\":[\"Śţēàĺţĥ?\"],\"JCGCcQ\":[\"Śōŕţś ēvēŕŷţĥĩńĝ ƀŷ ĩţś ŕēĺēàśē ďàţē. Ţĥĩś ŵĩĺĺ ōńĺŷ ŵōŕķ ćōŕŕēćţĺŷ ĩƒ ţĥē ŕēĺēàśē ďàţēś ĩń Ƥĺēx àŕē ćōŕŕēćţ. Ĩń ćàśē àńŷ ĩţēḿ ďōēś ńōţ ĥàvē à ŕēĺēàśē ďàţē śƥēćĩƒĩēď, ĩţ ŵĩĺĺ ƀē ḿōvēď ţō ţĥē ƀōţţōḿ.\"],\"JCOZTc\":[\"Àũďĩō & Śũƀţĩţĺē Ōƥţĩōńś\"],\"JOFDLs\":[\"Ƥŕōĝŕàḿ Ƥĺàŷƀàćķ Ţŕōũƀĺēśĥōōţēŕ\"],\"JeAvlS\":[\"Ƥàď Ţĩḿēś\"],\"JeL1O4\":[\"Ŕēďĩŕēćţ ďũŕàţĩōń\"],\"Jj3SJk\":[\"À-Ź (àść)\"],\"JmZ/+d\":[\"Ƒĩńĩśĥ\"],\"Jpe9a8\":[\"Àţţēḿƥţś ţō ƀàĺàńćē ƥŕōĝŕàḿḿĩńĝ ĝŕōũƥś ƀŷ ēĩţĥēŕ ţōţàĺ ĺĩńēũƥ ďũŕàţĩōń ōŕ ńũḿƀēŕ ōƒ ũńĩǫũē ƥŕōĝŕàḿś. Ƒōŕ ĩńśţàńćē, ƒōŕ à ćĥàńńēĺ ŵĩţĥ ḿàńŷ śēàśōńś ōƒ ōńē śĥōŵ àńď ƒēŵ śēàśōńś ōƒ àńōţĥēŕ, ƀàĺàńćĩńĝ ŵĩĺĺ àţţēḿƥţ ţō ćŕēàţē àń ēvēń ḿĩx ōƒ ƀōţĥ śĥōŵś ƀŷ ĩńśēŕţĩńĝ ŕēƥēàţś ōƒ ţĥē śĥōŵ ŵĩţĥ ƒēŵēŕ ēƥĩśōďēś.\"],\"JryIGL\":[\"ÀďĴũśţ Ŵēĩĝĥţś\"],\"Jsel0T\":[\"Ţĥĩś ćĥàńńēĺ ĥàś àń ēxĩśţĩńĝ ţĩḿē śĺōţ śćĥēďũĺē. À ćĥàńńēĺ ćàń ōńĺŷ ũśē ōńē śćĥēďũĺĩńĝ ţŷƥē àţ à ţĩḿē. Śàvĩńĝ à śćĥēďũĺē ĥēŕē ŵĩĺĺ ŕēḿōvē ţĥē ēxĩśţĩńĝ ţĩḿē śĺōţ śćĥēďũĺē.\"],\"Jtbzxr\":[\"Vēŕśĩōń: ũńķńōŵń\"],\"JxE+Bh\":[\"Àĺĺōŵś ŷōũ ţō ƥĩćķ śƥēćĩƒĩć ƥŕōĝŕàḿḿĩńĝ ţō ŕēḿōvē ƒŕōḿ ţĥē ćĥàńńēĺ.\"],\"JyHA6G\":[\"Ďĩśƥĺàŷś ţĥē ĺàśţ \",[\"0\"],\" śŷśţēḿ ĺōĝ ēvēńţś. Ũśē ţĥē ƀũţţōńś ƀēĺōŵ ţō ēxƥōŕţ ţĥēśē ĺōĝś ōŕ ďōŵńĺōàď ţĥē ēńţĩŕē ĺōĝ ƒĩĺē ƒōŕ ďēƀũĝĝĩńĝ.\"],\"JzJk+4\":[\"Àďď Ĺàńĝũàĝē Ƥŕēƒēŕēńćē\"],\"K09nyY\":[\"Ĺĩńķēď śĺōţś àďvàńćē ēƥĩśōďē ƥŕōĝŕēśśĩōń ţōĝēţĥēŕ śēǫũēńţĩàĺĺŷ.\"],\"K8+dbZ\":[[\"totalConnections\"],\" ţōţàĺ\"],\"K9pQ8Q\":[\"Ďĩśàƀĺē Ŵàţēŕḿàŕķś\"],\"KRjDf4\":[\"Àũďĩō Śţŕēàḿś\"],\"Khe/Vb\":[\"Ŵàţćĥ Ćĥàńńēĺ\"],\"KkOthv\":[\"Ĝũĩďē\"],\"Km5fSd\":[\"Ĩƒ ŷōũ àŕē ćōńƒĩďēńţ ƑƑḾƤĒĜ ĩś ĩńśţàĺĺēď, ŷōũ ḿàŷ Ĵũśţ ńēēď ţō ũƥďàţē ţĥē ēxēćũţàƀĺē ƥàţĥ ĩń ţĥē śēţţĩńĝś. Ţō ďō śō, śĩḿƥĺŷ ćĺĩćķ Ēďĩţ àƀōvē ţō ũƥďàţē ţĥē ƥàţĥ.\"],\"L+8pV5\":[\"Śŷńć ŵĩţĥ ēxţēŕńàĺ ƥĺàŷĺĩśţ\"],\"L/KmPM\":[\"Ũśũàĺĺŷ śĺōţś ńēēď ţō àďď ƒĺēx ţĩḿē ţō ēńśũŕē ţĥàţ ţĥē ńēxţ śĺōţ śţàŕţś àţ ţĥē ćōŕŕēćţ ţĩḿē. Ŵĥēń ţĥēŕē àŕē ḿũĺţĩƥĺē vĩďēōś ĩń ţĥē śĺōţ, ŷōũ ḿĩĝĥţ ƥŕēƒēŕ ţō ďĩśţŕĩƀũţē ţĥē ƒĺēx ţĩḿē ƀēţŵēēń ţĥē vĩďēōś ōŕ ţō ƥĺàćē ḿōśţ ōƒ ţĥē ƒĺēx ţĩḿē àţ ţĥē ēńď ōƒ ţĥē śĺōţ.\"],\"L6Mhe6\":[\"Ŷōũ ĥàvē ũńśàvēď ćĥàńĝēś!\"],\"L8Hb+D\":[\"Śēţś ţĥē ńũḿƀēŕ ōƒ ţĥŕēàďś ũśēď ţō ďēćōďē ţĥē ĩńƥũţ śţŕēàḿ. Śēţ ţō 0 ţō ĺēţ ƒƒḿƥēĝ àũţōḿàţĩćàĺĺŷ ďēćĩďē ĥōŵ ḿàńŷ ţĥŕēàďś ţō ũśē. Ŕēàď ḿōŕē àƀōũţ ţĥĩś ōƥţĩōń <0>ĥēŕē. <1>Ńōţē: ţĥĩś ōƥţĩōń ĩś ōvēŕŕĩďďēń ţō 1 ŵĥēń ũśĩńĝ ĥàŕďŵàŕē àććēĺēàŕàţĩōń ƒōŕ śţàƀĩĺĩţŷ ŕēàśōńś.\"],\"LKPR6G\":[\"Ƥĺàŷĺĩśţ\"],\"LKSv28\":[\"Śḿàŕţ Ćōĺĺēćţĩōńś àŕē śēĺƒ-ũƥďàţĩńĝ ćōńţēńţ ĺĩśţś. Ŷōũ śēţ ţĥē ǫũēŕŷ àńď ţĥē ćōĺĺēćţĩōń àũţōḿàţĩćàĺĺŷ àďďś àńŷ ńēŵ ćōńţēńţ ƒŕōḿ ŷōũŕ ĺĩƀŕàŕŷ ţĥàţ ƒĩţś ţĥōśē ŕũĺēś. Àńŷ ńēŵĺŷ àďďēď ćōńţēńţ ḿàţćĥĩńĝ ǫũēŕŷ ŵĩĺĺ ńōţ ḿōďĩƒŷ ēxĩśţĩńĝ ćĥàńńēĺ ƥŕōĝŕàḿḿĩńĝ àţ ţĥĩś ţĩḿē.\"],\"LMMGPr\":[\"Śũƀḿĩţţĩńĝ...\"],\"LRvqnF\":[\"Ēŕŕōŕ śàvĩńĝ ńēŵ ĵēĺĺŷƒĩń śēŕvēŕ. Śēē ƀŕōŵśēŕ ćōńśōĺē àńď śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"LTC198\":[\"Ŕũńńĩńĝ...\"],\"LTYRAI\":[\"Vĩēŵ Ĺĩƀŕàŕŷ\"],\"LiCr5o\":[\"Ĺĩḿĩţ ḿũśţ ƀē ńũḿēŕĩć\"],\"MHrjPM\":[\"Ţĩţĺē\"],\"MKK96e\":[\"Vĩēŵ Ćōĺĺēćţĩōń\"],\"MR6Nlf\":[\"Ćĥàńĝē ţĥē vēŕƀōśĩţŷ ōƒ śƥēćĩƒĩć ćàţēĝōŕĩēś ōƒ ĺōĝś. Ũśēƒũĺ ĩƒ ďēƀũĝĝĩńĝ à śƥēćĩƒĩć ƒēàţũŕē.\"],\"MS1Dhi\":[\"Ḿàx ƒĩĺē śĩźē (ƀŷţēś)\"],\"MVBLYK\":[\"Ŕēḿōvē...\"],\"MW42Hp\":[\"Ćũśţōḿĩźē ĥōŵ ḿōvĩē ƀĺōćķś àŕē śōŕţēď\"],\"Md/eZS\":[[\"count\",\"plural\",{\"one\":[\"#\",\" ĩţēḿ\"],\"other\":[\"#\",\" ĩţēḿś\"]}]],\"MfkGXC\":[\"Śĥũƒƒĺē Ĝŕōũƥĩńĝ\"],\"MkMcGz\":[\"Ŕēƒŕēśĥ Ĺĩƀŕàŕĩēś\"],\"Ml7h3C\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Ƥŕōĝŕàḿ\"],\"other\":[\"#\",\" Ƥŕōĝŕàḿś\"]}]],\"Mrdyk9\":[\"Ĝēńŕē\"],\"Mv+xQh\":[\"Ńēŵ Ćĥàńńēĺ\"],\"N15e5e\":[\"Ŕēḿōvē ćũśţōḿ ĩćōń\"],\"NGOfis\":[\"Ďĩśàƀĺē Ĩḿàĝē Śćàĺĩńĝ\"],\"NGSThJ\":[\"Śḿàŕţ Ćōĺĺēćţĩōń\"],\"NL/bON\":[\"ƑƑḿƥēĝ Ćōḿḿàńď\"],\"NQ7yht\":[\"Ḿũśţ ũśē à vàĺĩď ŨŔĹ, ōŕ ēḿƥţŷ.\"],\"NaDxQ2\":[\"Àũţō Ďēĩńţēŕĺàćē Vĩďēō\"],\"Nb+B9K\":[\"ÀďĴũśţ ţĥē ōũţƥũţ vōĺũḿē (ńōţ ŕēćōḿḿēńďēď). Vàĺũēś ĥĩĝĥēŕ ţĥàń 100 ŵĩĺĺ ƀōōśţ ţĥē àũďĩō.\"],\"NcV1df\":[\"Ƥàď Śţàŕţ Ţĩḿēś\"],\"NfTP7a\":[\"Àďvàńćēď ōƥţĩōńś ŕēĺàţĩńĝ ţō àũďĩō. Ĩń ĝēńēŕàĺ, ďō ńōţ ćĥàńĝē ţĥēśē ũńĺēśś ŷōũ ķńōŵ ŵĥàţ ŷōũ àŕē ďōĩńĝ!\"],\"NfZ8rc\":[\"24-ĥōũŕ\"],\"Nkn5MW\":[\"Ŕēḿōvēś àĺĺ Ƒĺēx ƥēŕĩōďś ƒŕōḿ ţĥē śćĥēďũĺē.\"],\"NnH3pK\":[\"Ţēśţ\"],\"NnuRri\":[\"Ţĥĩś àĺĺōŵś ŷōũ ţō ƥĩćķ ţĥē ŵēĩĝĥţś ƒōŕ ēàćĥ ōƒ ţĥē śĥōŵś, śō ŷōũ ćàń ďēćĩďē ţĥàţ śōḿē śĥōŵś śĥōũĺď ƀē ĺēśś ƒŕēǫũēńţ ţĥàń ōţĥēŕ śĥōŵś.\"],\"NtQvjo\":[\"Ƥēŕĩōď\"],\"Nu4oKW\":[\"Ďēśćŕĩƥţĩōń\"],\"Ny7dz3\":[\"Àĺƀũḿś\"],\"NyfQ4q\":[\"Śàvē àś Śḿàŕţ Ćōĺĺēćţĩōń\"],\"O1xfOi\":[\"Ŕàńďōḿ...\"],\"O5izWu\":[\"Ţĥĩś ćũśţōḿ śĥōŵ ĩś śŷńćēď ŵĩţĥ àń ēxţēŕńàĺ ƥĺàŷĺĩśţ. Ćōńţēńţ ĩś ũƥďàţēď àũţōḿàţĩćàĺĺŷ àńď ćàńńōţ ƀē ēďĩţēď ḿàńũàĺĺŷ.\"],\"O8g6Na\":[\"Ĺàśţ Śćàńńēď: \",[\"0\"]],\"OPw3KG\":[\"Ćōńńēćţ Ḿēďĩà Śōũŕćē\"],\"OVmXHk\":[\"Ŕēƒŕēśĥ Ţĩḿēŕ (Ĥōũŕś)\"],\"Ob+B6e\":[\"ßũƒƒēŕ śĩźē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō\"],\"OfC/JK\":[\"Ćũśţōḿ Śĥōŵ - \",[\"0\"]],\"OfYtUi\":[\"Ƒĩĺĺēŕ Ćōńţēńţ\"],\"OfhWJH\":[\"Ŕēśēţ\"],\"OrDu0o\":[\"Vĩďēō ßũƒƒēŕ Śĩźē\"],\"Osn70z\":[\"Ďēƀũĝ\"],\"P/TyYO\":[\"Ţĥē ţŷƥē ōƒ ḿēďĩà ĩń ţĥē ƥŕōvĩďēď ƥàţĥś\"],\"P1BU0j\":[\"Ƒŕàḿē Ŕàţē\"],\"P29ZKI\":[\"Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ Ēḿƀŷ Śēŕvēŕ\"],\"P2DGHD\":[\"Ƥŕōĝŕàḿḿĩńĝ śţàŕţś àţ \",[\"startTime\"],\" àńď śţōƥś àţ \",[\"endTime\"]],\"P3i3NN\":[\"Ēďĩţ Ćĥàńńēĺ Śēţţĩńĝś\"],\"P6Io39\":[\"Ḿàx Ĺàţēńēśś\"],\"P6c7YE\":[\"Ŕēḿōvē Ƥŕōĝŕàḿḿĩńĝ\"],\"PCBfmf\":[\"Ŕēńďēŕś à ćĥàńńēĺ ĩćōń (àĺśō ķńōŵń àś ƀũĝ ōŕ Ďĩĝĩţàĺ Ōń-śćŕēēń Ĝŕàƥĥĩć) ōń ţōƥ ōƒ ţĥē ćĥàńńēĺ'ś śţŕēàḿ.\"],\"PJ/u9s\":[\"Ćōƥĩēď \",[\"0\"],\" ŨŔĹ ţō ćĺĩƥƀōàŕď\"],\"PT6k0T\":[\"Ƥĩxēĺ Ƒōŕḿàţ\"],\"PX1WM1\":[\"Śũććēśśƒũĺĺŷ ēḿƥţĩēď ţŕàśĥ.\"],\"Pazp7r\":[\"Ţĥēŕē ŵàś àń ēŕŕōŕ ĝēńēŕàţĩńĝ ţĩḿē śĺōţś. Ćĥēćķ ţĥē ƀŕōŵśēŕ ćōńśōĺē ĺōĝ ƒōŕ ḿōŕē ĩńƒōŕḿàţĩōń\"],\"PeBTGz\":[\"Ćĺēàŕ Śćĥēďũĺē\"],\"PeBylA\":[\"Ŷōũ ḿũśţ ćŕēàţē àţ ĺēàśţ ōńē <0>ƒĩĺĺēŕ ĺĩśţ ƀēƒōŕē àśśĩĝńĩńĝ ƒĩĺĺēŕ ţō à ĺōţ.\"],\"Pfatg8\":[[\"minutes\",\"plural\",{\"one\":[\"#\",\" ḿĩńũţē\"],\"other\":[\"#\",\" ḿĩńũţēś\"]}]],\"PgdRhI\":[\"Ŵēĩĝĥţĩńĝ\"],\"Ph+yE0\":[\"0 ḿĩńś\"],\"PhKcf0\":[\"Ēďĩţ Ţŕàńśćōďē Ćōńƒĩĝ\"],\"PiY0nu\":[\"Ŷōũ ĥàvē ńō Ƒĩĺĺēŕ Ĺĩśţś. Ćŕēàţē ŷōũŕ ƒĩŕśţ Ƒĩĺĺēŕ Ĺĩśţ <0>ĥēŕē.\"],\"Pol2QS\":[\"Ēḿƀŷ\"],\"PpZkda\":[\"Ƒēàţũŕēś\"],\"PwpUBp\":[\"Ţĥĩś ĩś ţĥē ńàḿē ōƒ ţĥē ƒàķē ƥŕōĝŕàḿ ţĥàţ ŵĩĺĺ àƥƥēàŕ ĩń ţĥē ŢV ĝũĩďē ŵĥēń ţĥēŕē àŕē ńō ƥŕōĝŕàḿś ţō ďĩśƥĺàŷ ĩń ţĥàţ ţĩḿē śĺōţ ĝũĩďē, ē.ĝ ŵĥēń à ĺàŕĝē Ƒĺēx ƀĺōćķ ĩś śćĥēďũĺēď.\"],\"Pwqkdw\":[\"Ĺōàďĩńĝ…\"],\"Q8L6q9\":[\"Vĩďēō Śţŕēàḿś\"],\"QAUrt0\":[\"Ŕēƒŕēśĥ Ƥàĝē\"],\"QEb4hu\":[\"Śţēàĺţĥ Ḿōďē\"],\"QG2xdt\":[\"Ćŕēàţē Ŕēŕũń ßĺōćķ\"],\"QHRTYn\":[\"Śĺōţś Ēďĩţōŕ...\"],\"QKMxhc\":[\"Ţũńàŕŕ ŕũńś vàŕĩōũś ţàśķś, śōḿēţĩḿēś ōń à śćĥēďũĺē, ƒōŕ ƀàćķĝŕōũńď ōƥēŕàţĩōńś.\"],\"QUxTIQ\":[\"Ƒĩĺĺēŕ ĩś ŕēśōĺvēď àţ śćĥēďũĺē ţĩḿē. Ţĥē ĝũĩďē śĥōŵś śƥēćĩƒĩć ƒĩĺĺēŕ ţĩţĺēś.\"],\"Qll2Tb\":[\"Ďēść\"],\"QlrQ/Z\":[\"Ńēxţ Śćĥēďũĺēď Ēxēćũţĩōń\"],\"Qm1NmK\":[\"ŌŔ\"],\"Qu844y\":[\"Ţĩḿē Śĺōţ Ēďĩţōŕ\"],\"QvKdb0\":[\"Ƥĺàćēĥōĺďēŕ Ƥŕōĝŕàḿ Ţĩţĺē\"],\"Qx971g\":[\"Àƒţēŕ Ēvēŕŷ\"],\"R/7J0Z\":[\"Àŕţĩśţś\"],\"R/N+HY\":[\"Ńō ƥŕōĝŕàḿḿĩńĝ àďďēď ŷēţ\"],\"R/xSFi\":[\"Ēďĩţĩńĝ \\\"\",[\"0\"],\"\\\"\"],\"R0yni2\":[\"Àţţēḿƥţ Àũţō-Ƒĩx\"],\"R40oLk\":[\"Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ēńćōďēŕ ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś.\"],\"R6kHq+\":[\"Ĺĩńķ Ḿōďē\"],\"R9Khdg\":[\"Àũţō\"],\"RCeEAd\":[\"Ĝĺōƀàĺ Ōƥţĩōńś\"],\"RGf6l7\":[\"Śēĺēćţ à śĺōţ ţō ĺĩńķ ţō\"],\"RI4u49\":[\"<0>Ŷōũ ćàń ēďĩţ ţĥĩś ĺōćàţĩōń ĩń ŷōũŕ śēţţĩńĝś.Ĵśōń ŵĩţĥĩń ŷōũŕ Ţũńàŕŕ ďàţà ďĩŕēćţōŕŷ<1/><2>ŃŌŢĒ: Ŵĥēń ḿàńũàĺĺŷ àďďĩńĝ ţĥē XḾĹŢV ĺōćàţĩōń ţō à ćĺĩēńţ ĺĩķē Ƥĺēx, ďō ńōţ ũśē ţĥĩś ƒĩĺē ďĩŕēćţĺŷ. Ĩńśţēàď, ũśē ţĥē ĝēńēŕàţēď XḾĹŢV ƒŕōḿ ţĥē Ţũńàŕŕ ÀƤĨ ēńďƥōĩńţ: \",[\"0\"],\"\"],\"RTxUjI\":[\"Ćōƥŷ ţō Ćĺĩƥƀōàŕď\"],\"RUYsn0\":[\"Ćĺēàŕ Àĺĺ\"],\"RVl9/c\":[\"Àĺţēŕńàţē ƥŕōĝŕàḿś ĩń ƀĺōćķś. Ŷōũ ćàń ƥĩćķ ţĥē ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś ƥēŕ-ţŷƥē ĩń ēàćĥ ƀĺōćķ àńď ĩƒ ţĥē ōŕďēŕ ōƒ śĥōŵś ĩń ēàćĥ ƀĺōćķ śĥōũĺď ƀē ŕàńďōḿĩźēď.\"],\"RYP47R\":[[\"0\",\"plural\",{\"one\":[\"Ďàŷ\"],\"other\":[\"Ďàŷś\"]}]],\"RYlQY0\":[\"Ŕēƥēàţś\"],\"RaHlqV\":[[\"totalConnections\",\"plural\",{\"one\":[\"#\",\" ćōńńēćţĩōń\"],\"other\":[\"#\",\" ćōńńēćţĩōńś\"]}]],\"RavMGr\":[[\"count\",\"plural\",{\"one\":[\"śēćōńď\"],\"other\":[\"śēćōńďś\"]}]],\"RbgUS/\":[\"Ćōƥŷ Ćĥàńńēĺ ĨĎ\"],\"RtPRIb\":[\"Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ďàŷś ţō ƥŕēćàĺćũĺàţē ţĥē śćĥēďũĺē. Ńōţē ţĥàţ ţĥē ĺēńĝţĥ ōƒ ţĥē śćĥēďũĺē ĩś àĺśō ƀōũńďēď ƀŷ ţĥē ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś àĺĺōŵēď ĩń à ćĥàńńēĺ.\"],\"RxzN1M\":[\"Ēńàƀĺēď\"],\"S/CawK\":[\"Ḿōvĩēś àŕē ĝŕōũƥēď àĺţōĝēţĥēŕ\"],\"S5v5/h\":[\"Ēńàƀĺĩńĝ ēḿƀēďďēď śũƀţĩţĺē ēxţàćţĩōń ŵĩĺĺ ƥēŕĩōďĩćàĺĺŷ śćàń ŷōũŕ ũƥćōḿĩńĝ ƥŕōĝŕàḿḿĩńĝ ƒōŕ ēḿƀēďďēď ţēxţ-ƀàśēď śũƀţĩţĺē śţŕēàḿś àńď ēxţŕàćţ ţĥēḿ ţō à ĺōćàĺ ćàćĥē. Ţĥĩś ĩś ńēćēśśàŕŷ ĩń ōŕďēŕ ţō ēńàƀĺē śũƀţĩţĺē ƀũŕńĩńĝ ƒōŕ ţēxţ-ƀàśēď śũƀţĩţĺēś ŵĥĩćĥ àŕē ńōţ ēxţēŕńàĺ śţŕēàḿś.\"],\"S60KP9\":[\"Śēŕvēŕ Śēţţĩńĝś\"],\"S8zZJK\":[\"Ŵēĺćōḿē ţō Ţũńàŕŕ!\"],\"SBtwzo\":[\"Vēŕśĩōń Ḿĩśḿàţćĥ!\"],\"SCZJhh\":[\"Àũďĩō ßĩţŕàţē\"],\"SFjIKS\":[[\"0\",\"plural\",{\"one\":[\"#\",\" Śēĺēćţēď Ĩţēḿ\"],\"other\":[\"#\",\" Śēĺēćţēď Ĩţēḿś\"]}]],\"SOXW6w\":[\"Àĺĺ Ĝēńŕēś\"],\"SY1gRl\":[\"Ḿēďĩà Śōũŕćē\"],\"SYGPcm\":[\"Ŷōũ ĥàvē ńō śḿàŕţ ćōĺĺēćţĩōńś. Śḿàŕţ ćōĺĺēćţĩōńś ćàń ƀē ćŕēàţēď ōń ţĥē <0>śēàŕćĥ ƥàĝē.\"],\"SZcfpX\":[\"Ƥàď Śţŷĺē\"],\"SZzr30\":[\"Ţĥē śēĺēćţēď ĺàńĝũàĝēś ŵĩĺĺ ƀē ćōńśĩďēŕēď ĩń ōŕďēŕ ţĥēŷ àŕē śēĺēćţēď.\"],\"Sbs5dW\":[\"Ƒĩĺĺēŕ\"],\"Sg3laT\":[\"Ḿĩń Ďũŕàţĩōń\"],\"SoRsRS\":[\"Ćàĺćũĺàţēś à śćĥēďũĺē ŵĥēŕē àĺĺ ƥŕōĝŕàḿś ēńď àţ ţĥē śàḿē ţĩḿē, ćŕēàţĩńĝ à ƥēŕƒēćţĺŷ ĺōōƥĩńĝ śćĥēďũĺē.\"],\"SuubHr\":[\"Ďēĺēţĩńĝ à Ƥĺēx śēŕvēŕ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ŷōũŕ ćĥàńńēĺś àśśōćĩàţēď ŵĩţĥ ţĥĩś ƥĺēx śēŕvēŕ. Ḿĩśśĩńĝ ƥŕōĝŕàḿḿĩńĝ ŵĩĺĺ ƀē ŕēƥĺàćēď ŵĩţĥ Ƒĺēx ţĩḿē. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.\"],\"SywaS+\":[\"Ďàţà Ďĩŕēćţōŕŷ:\"],\"T5wfux\":[\"Ḿàķēś ḿũĺţĩƥĺē ćōƥĩēś ōƒ ţĥē śćĥēďũĺē àńď ƥĺàŷś ţĥēḿ ĩń śēǫũēńćē\"],\"T8drou\":[\"Śŷśţēḿ Ĥēàĺţĥ\"],\"TEM0vH\":[\"Ŕēḿōvēś àĺĺ ƥŕōĝŕàḿś ƒŕōḿ ćũśţōḿ śĥōŵ\"],\"TMADKS\":[\"Ďĩvĩďēś ţĥē ƥŕōĝŕàḿḿĩńĝ ĩń ƀĺōćķś ōƒ 4, 6, 8 ōŕ 12 ĥōũŕś ţĥēń ŕēƥēàţś ēàćĥ ōƒ ţĥē ƀĺōćķś ţĥē śƥēćĩƒĩēď ńũḿƀēŕ ōƒ ţĩḿēś.\"],\"TMju4P\":[\"Ďēĺēţē Ḿēďĩà Śōũŕćē \\\"\",[\"0\"],\"\\\"?\"],\"TS0lwx\":[\"Ēńćōũńţēŕēď àń ēŕŕōŕ ŵĥēń ēḿƥţŷĩńĝ ţŕàśĥ. Ćĥēćķ ćōńśōĺē ĺōĝś ƒōŕ ďēţàĩĺś.\"],\"TZKpsF\":[\"Ńō Ḿēďĩà Śōũŕćēś ďēţēćţēď.\"],\"TpqW74\":[\"Ƒĩxēď\"],\"Ts6Zfm\":[\"Ēŕŕōŕ ũƥďàţĩńĝ Śḿàŕţ Ćōĺĺēćţĩōń. Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś.\"],\"Ts8Q+i\":[\"ĒƤĜ\"],\"TvY/XA\":[\"Ďōćũḿēńţàţĩōń\"],\"Tz0i8g\":[\"Śēţţĩńĝś\"],\"TzyoiK\":[\"Ŵĥēń ēńàƀĺĩńĝ, Ţũńàŕŕ ŵĩĺĺ ĝēńēŕàţē àń ĩńĩţĩàĺ ƀàćķũƥ ĩḿḿēďĩàţēĺŷ\"],\"U0sC6H\":[\"Ďàĩĺŷ\"],\"U3+jR/\":[\"Ŕēƥĺĩćàţē Ƥŕōĝŕàḿś\"],\"UC1lMc\":[\"Ƒàĩĺēď ţō śàvē ƒēàţũŕē ƒĺàĝś.\"],\"UE2eVC\":[\"Śōŕţś àĺƥĥàƀēţĩćàĺĺŷ ƀŷ ƥŕōĝŕàḿ ţĩţĺē\"],\"UHu/Uf\":[\"Śĥōŵ ōńĺŷ śŷńćēď ĺĩƀŕàŕĩēś\"],\"UOMT7z\":[\"Ţĥĩś ōƥţĩōń ĩś ďĩśàƀĺēď ƀēćàũśē ĩţ ŵōũĺď ćàĺćũĺàţē à śćĥēďũĺē ţĥàţ ĩś ţōō ĺōńĝ.\"],\"URmyfc\":[\"Ďēţàĩĺś\"],\"UXC1jS\":[\"ŃōďēĵŚ: \",[\"0\"]],\"UYUgdb\":[\"Ōŕďēŕ\"],\"UYW9jU\":[\"Śũććēśśƒũĺĺŷ ŕàń śŷśţēḿ ƒĩxēŕ \",[\"fixerId\"]],\"Uf/h/w\":[\"Ƥĩćķ śƥēćĩƒĩć ƥŕōĝŕàḿḿĩńĝ ţō ŕēḿōvē ƒŕōḿ ţĥē ćĥàńńēĺ.\"],\"UirGxE\":[\"Ēŕŕōŕś\"],\"UnI8zh\":[\"Ćĥàńńēĺ #\",[\"0\"]],\"UweSf9\":[\"Àďď Ćĥàńńēĺ Ŕēďĩŕēćţ\"],\"V8B1wG\":[\"Ĺàśţ śŷńćēď \",[\"0\"]],\"V9UVpb\":[\"Ţōţàĺ ĥĩţś: \",[\"0\"]],\"VBsY8N\":[\"Śēţ ţō 0 ţō ńēvēŕ ďēĺēţē ƀàćķũƥś\"],\"VIHbrI\":[\"Àďvàńćēď ōƥţĩōńś ŕēĺàţĩńĝ ţō ţŕàńśćōďĩńĝ. Ĩń ĝēńēŕàĺ, ďō ńōţ ćĥàńĝē ţĥēśē ũńĺēśś ŷōũ ķńōŵ ŵĥàţ ŷōũ àŕē ďōĩńĝ! Ţĥēśē śēţţĩńĝś ēxĩśţ ĩń ōŕďēŕ ţō ĺēàvē śōḿē ƥàŕĩţŷ ŵĩţĥ ţĥē ōĺď ďĩźǫũēŢV ţŕàńśćōďē ƥĩƥēĺĩńē àś ŵēĺĺ àś ţō ƥŕōvĩďē ḿēćĥàńĩśḿś ţō àĩď ĩń ďēƀũĝĝĩńĝ śţŕēàḿĩńĝ ĩśśũēś.\"],\"VP2oPP\":[\"Śĺōţś\"],\"VVAgOP\":[\"Ŕēśćàń Ĩńţēŕvàĺ (ĥōũŕś)\"],\"VXdzY3\":[\"Ďĩśàƀĺē Ĥàŕďŵàŕē Ēńćōďĩńĝ\"],\"Va3xJe\":[\"Àďď ƒĩēĺď\"],\"VfWz27\":[\"Ŵēĩĝĥţ %\"],\"VlEnCC\":[\"Àŕćĥĩvē Ƒōŕḿàţ\"],\"VlWKwW\":[\"Ĺàźŷ\"],\"Vmvp5H\":[[\"count\",\"plural\",{\"one\":[\"ďàŷ\"],\"other\":[\"ďàŷś\"]}]],\"VrBtVn\":[\"ßàćķũƥś:\"],\"Vw5EeW\":[\"Ēńàƀĺē ßàćķũƥś\"],\"VyUuZb\":[\"Ĩḿàĝē ŨŔĹ\"],\"WAakm9\":[\"Ďēĺēţē Ćĥàńńēĺ\"],\"WDgJiV\":[\"Śćàńńēŕ\"],\"WGkxNZ\":[\"Ēŕŕōŕ ǫũēŕŷĩńĝ Ƥĺēx. Ćĥēćķ ćōńśōĺē ĺōĝ àńď ćōńśĩďēŕ ŕēƥōŕţĩńĝ à ƀũĝ!\"],\"WKHqM+\":[\"Ŵēĩĝĥţ\"],\"WMQchs\":[\"Àũďĩō ßũƒƒēŕ Śĩźē\"],\"WT1Ibn\":[\"Ĺàśţ ŕũń\"],\"Wb3E4g\":[\"Ŕũń ńōŵ\"],\"Weq9zb\":[\"Ĝēńēŕàĺ\"],\"WhJZoS\":[\"Ćĥōōśē ţĥē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōń ţō ũśē ƒōŕ ţĥĩś ćĥàńńēĺ. Ćōńƒĩĝũŕē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōńś ōń ţĥē <0>ƑƑḿƥēĝ śēţţĩńĝś ƥàĝē.\"],\"WjUHH8\":[\"Ḿōvĩē Śōŕţ\"],\"WnW1QF\":[[\"block\"],\" Ĥōũŕś\"],\"WzNAIP\":[[\"0\",\"plural\",{\"one\":[\"Ĥōũŕ\"],\"other\":[\"Ĥōũŕś\"]}]],\"X0mSqw\":[\"Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ƒĩĺţēŕś (ē.ĝ. śćàĺē, ƥàď, ēţć.) ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś.\"],\"X9EHMa\":[\"Ēďĩţĩńĝ Śḿàŕţ Ćōĺĺēćţĩōń \\\"\",[\"0\"],\"\\\"\"],\"XDT85c\":[\"Ḿēďĩà Śōũŕćēś\"],\"XIgmo9\":[\"Ďĩď ńōţ ŕēćēĩvē àń àććēśśŢōķēń ōŕ ũśēŕĨď ƒŕōḿ ĵēĺĺŷƒĩń śēŕvēŕ.\"],\"XNtsE7\":[\"Ćàĺćũĺàţĩńĝ Śĺōţś...\"],\"XNw99A\":[\"Śōƒţŵàŕē (Ńō ĜƤŨ)\"],\"XOgcN3\":[\"Ƒĩĺĺēŕ Ĺĩśţ: \",[\"0\"]],\"XOuE6F\":[\"Ţĥĩś ćōũĺď ćàũśē ţĥē ƒōĺĺōŵĩńĝ śĺōţ'ś ƥŕōĝŕàḿś ţō ĝō ũńśćĥēďũĺēď. Ƥōśśĩƀĺē śōĺũţĩōńś ĩńćĺũďē:\"],\"XSkU3F\":[\"* Ŕēśţàŕţ ŕēǫũĩŕēď\"],\"XWYqJx\":[\"Ďũƥĺĩćàţē Ćĥàńńēĺ\"],\"XXwX66\":[\"Śēţ ţĥē ĺōĝ ĺēvēĺ ƒōŕ ţĥē Ţũńàŕŕ śēŕvēŕ.<0/>Śēĺēćţĩńĝ <1>\\\"Ũśē ēńvĩŕōńḿēńţ śēţţĩńĝś\\\" ŵĩĺĺ ĩńśţŕũćţ ţĥē śēŕvēŕ ţō ũśē ţĥē <2>ĹŌĜ_ĹĒVĒĹ ēńvĩŕōńḿēńţ vàŕĩàƀĺē, ĩƒ śēţ, ōŕ śŷśţēḿ ďēƒàũĺţ \\\"ĩńƒō\\\".\"],\"XePUKr\":[\"Ţēśţ Ţŕàńśćōďē\"],\"XhWvkJ\":[[\"0\"],\" ōƒ \",[\"1\"],\" \",[\"2\"],\" ēxćēēď ţĥē ĺēńĝţĥ ōƒ ţĥĩś śĺōţ (\",[\"3\"],\"). Àvēŕàĝē ƥŕōĝŕàḿ ĺēńĝţĥ: \",[\"4\"]],\"Xkppm4\":[\"Ēńàƀĺē Ŵàţēŕḿàŕķ\"],\"Xm/WEQ\":[\"Ćĥàńńēĺ Ĝŕōũƥ\"],\"XsR2HX\":[\"Ţēśţ Ďũŕàţĩōń (śēćōńďś)\"],\"Xuml3I\":[\"ßŷ ďēƒàũĺţ, ţĩḿē śĺōţś àŕē ţĩḿē ōƒ ţĥē ďàŷ-ƀàśēď, ŷōũ ćàń ćĥàńĝē ĩţ ţō ţĩḿē ōƒ ţĥē ďàŷ + ďàŷ ōƒ ţĥē ŵēēķ. Ţĥàţ ḿēàńś śćĥēďũĺĩńĝ 7x ţĥē ńũḿƀēŕ ōƒ ţĩḿē śĺōţś. Ĩƒ ŷōũ ćĥàńĝē ƒŕōḿ ďàĩĺŷ ţō ŵēēķĺŷ, ţĥē ćũŕŕēńţ śćĥēďũĺē ŵĩĺĺ ƀē ŕēƥēàţēď 7 ţĩḿēś. Ĩƒ ŷōũ ćĥàńĝē ƒŕōḿ ŵēēķĺŷ ţō ďàĩĺŷ, ḿàńŷ ōƒ ţĥē śĺōţś ŵĩĺĺ ƀē ďēĺēţēď.\"],\"XwU6BE\":[\"Ŷōũ ĥàvēń'ţ ćŕēàţēď àńŷ ƒĩĺĺēŕ ĺĩśţś ŷēţ! Ĝō ţō ţĥē <0>Ƒĩĺĺēŕ Ĺĩśţś ƥàĝē ţō ćŕēàţē ōńē.\"],\"Y2ngGV\":[\"Àďď à Ƒĩĺĺēŕ Ĺĩśţ\"],\"Y5XZLy\":[\"<0>Ƥàď Śĺōţ: Àĺĩĝń śĺōţ śţàŕţ ţĩḿēś ţō ţĥē śƥēćĩƒĩēď ƥàď ţĩḿē.<1/><2>Ƥàď Ēƥĩśōďē: Àĺĩĝń ēƥĩśōďē śţàŕţ ţĩḿēś (ŵĩţĥĩń à śĺōţ) ţō ţĥē śƥēćĩƒĩēď ƥàď ţĩḿē. <3>ŃŌŢĒ: Ďēƥēńďĩńĝ ōń śĺōţ ĺēńĝţĥ àńď ţĥē ćĥōśēń ƥàď ţĩḿē, ţĥĩś ćōũĺď ƥōţēńţĩàĺĺŷ ćŕēàţē à ĺōţ ōƒ ƒĺēx.\"],\"Y84UgQ\":[\"Ĺōũďńēśś Ţàŕĝēţ\"],\"YAKCkm\":[\"Àń ēŕŕōŕ ōććũŕŕēď: \",[\"0\"]],\"YDlcs3\":[\"Śĥũƒƒĺē Ƥŕōĝŕàḿḿĩńĝ\"],\"YLUnu0\":[\"Ţēśţ Ƥĺàŷƀàćķ\"],\"YN7vx3\":[\"Ćũśţōḿ Śĥōŵ\"],\"YRQaPv\":[\"Ĺàśţ Śŷńćēď\"],\"YRT1+e\":[\"Ćŕēàţēś à ńēŵ ćōĺĺēćţĩōń\"],\"YSptU0\":[\"Ŕēƥĺĩćàţē...\"],\"YT5/eK\":[\"Ḿēďĩà Śōũŕćē: \\\"\",[\"0\"],\"\\\"\"],\"YXwR3a\":[\"Ŕēśţōŕē ďēƒàũĺţ ĺōĝō\"],\"YY/JN7\":[\" ţĥē ƒōĺĺōŵĩńĝ ďàŷ.\"],\"YYLNVW\":[\"Ĩńśēŕţ ƀŕēàķś àţ ţĥēśē ƥēŕćēńţàĝēś ōƒ ţĥē ƥŕōĝŕàḿ ďũŕàţĩōń\"],\"YdIZFA\":[\"Ţĥĩś ćĥàńńēĺ ńũḿƀēŕ ĥàś àĺŕēàďŷ ƀēēń ũśēď\"],\"Yf/Mtb\":[\"Ŷōũ'ŕē Àĺĺ Śēţ!\"],\"Z10t2U\":[\"Ŕēḿōvēś ŕēƥēàţēď ƥŕōĝŕàḿś.\"],\"Z3FXyt\":[\"Ĺōàďĩńĝ...\"],\"Z4IQ8m\":[\"Ćĥàńńēĺ Ţŕàńśćōďē Ćōńƒĩĝ\"],\"Z5IrB3\":[\"Ōƥēń ĩń \",[\"0\"]],\"Z6dMWq\":[\"Ēŕŕōŕ ŵĥĩĺē ŕũńńĩńĝ śŷśţēḿ ƒĩxēŕ \",[\"fixerId\"],\". Ćĥēćķ śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś.\"],\"ZND/fh\":[\"Ćàńńōţ ƀē ēḿƥţŷ\"],\"ZNZzTe\":[\"Ćàńńōţ ďĩśàƀĺē ĺĩƀŕàŕĩēś ŵĥēń ţĥēŷ àŕē ĺōćķēď\"],\"ZShzvn\":[\"\\\"\",[\"0\"],\"\\\" Ĺĩvē\"],\"ZWRt1W\":[\"Ōũţƥũţ Ƥàţĥ\"],\"ZkdKVr\":[\"Ŕēďĩŕēćţ ţō Ćĥàńńēĺ \",[\"0\"]],\"Zky8hA\":[\"Ţĥē ĩḿàĝē ŵĩĺĺ ƀē ŕēńďēŕēď àţ ĩţś àćţũàĺ śĩźē ŵĩţĥōũţ àńŷ śćàĺĩńĝ àƥƥĺĩēď.\"],\"Zs2GWW\":[\"Ńēŵ Ēḿƀŷ Ḿēďĩà Śōũŕćē\"],\"Zul8Ry\":[\"ńēvēŕ\"],\"Zvipe1\":[\"Ēďĩţĩńĝ Ƥĺēx Śēŕvēŕ \\\"\",[\"0\"],\"\\\"\"],\"ZxwuFV\":[\"Ďēĺēţĩńĝ à Ćĥàńńēĺ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ţĥē ćĥàńńēĺ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē.\"],\"a+Pr3s\":[\"Àƥƥĺŷ ţō Ƥŕōĝŕàḿ Ţŷƥēś (ēḿƥţŷ = àĺĺ)\"],\"a4N/Bg\":[\"Ĺōàď Ḿōŕē\"],\"aE3UMm\":[\"<0>Ńōńē: śĺōţś àŕē ƥĩćķēď ĩń ţĥē ōŕďēŕ ţĥēŷ àŕē śƥēćĩƒĩēď ĩń ţĥē ţàƀĺē (ĩ.ē. ńōţ ŕàńďōḿĺŷ)<1/><2>Ũńĩƒōŕḿ: àĺĺ śĺōţś ĥàvē àń ēǫũàĺ ćĥàńćē ţō ƀē ƥĩćķēď.<3/><4>Ŵēĩĝĥţēď: ēàćĥ śĺōţ ĩś ƥĩćķēď ŵĩţĥ à śƥēćĩƒĩēď ƥŕōƀàƀĩĺĩţŷ\"],\"aOaCIk\":[\"Àĺĺōŵ Ēxţēŕńàĺ\"],\"aScBGS\":[\"Àďď à ƒĩĺţēŕ ēxƥŕēśśĩōń ţō ƒĩńē-ţũńē ŕēśũĺţś ōƒ ţĥē śēàŕćĥ\"],\"aSwfbR\":[\"Ũńĩţ\"],\"ak3N0i\":[\"Ĩţēḿ ŵàś ńōţ ƥŕēśēńţ ďũŕĩńĝ ţĥē ĺàśţ śćàń\"],\"aoLy25\":[\"Ōƥàćĩţŷ\"],\"b0Uv6P\":[[\"0\",\"plural\",{\"one\":[\"Ƥàţĥ\"],\"other\":[\"Ƥàţĥś\"]}]],\"b6sx4K\":[\"Ńō àćţĩvē śēśśĩōńś\"],\"bDY29m\":[\"Ĺōĝàŕĩţĥḿĩć\"],\"bGG6B1\":[\"ĵēĺĺŷƒĩń\"],\"bHNlfr\":[\"Ĩńćŕēàśĩńĝ ţĥē śĺōţ ďũŕàţĩōń.\"],\"bNEQeI\":[\"Ćōōĺďōŵń\"],\"bORfbY\":[\"Ćàńńōţ ũśē à ćĥàńńēĺ ńũḿƀēŕ <= 0\"],\"bPJiZF\":[\"Śĥōŵ: \",[\"0\"]],\"bSIBDb\":[\"Ŕēĺēàśē Ďàţē (àść)\"],\"bm8pgG\":[\"Àďď ĝŕōũƥ\"],\"boItSp\":[\"Ďēĺēţē Ḿēďĩà Śōũŕćē?\"],\"buS8nL\":[\"Ēńàƀĺē Śũƀţĩţĺēś\"],\"bxyuno\":[\"Ōvēŕŕĩďē ĝĺōƀàĺ àũďĩō àńď śũƀţĩţĺē śēţţĩńĝś ƒōŕ ţĥĩś ćĥàńńēĺ.\"],\"bydide\":[\"ƑƑḾƤĒĜ Ĺōĝ Ḿēţĥōď\"],\"c6fsNw\":[\"Ŵĥēń ēńàƀĺēď, ĩńţēŕḿĩţţēńţ ŵàţēŕḿàŕķś ƒàďē ĩń ĩḿḿēďĩàţēĺŷ ŵĥēń à śţŕēàḿ ĩś ĩńĩţĩàĺĩźēď. Ŵĥēń ďĩśàƀĺēď, ţĥē ƒĩŕśţ ŵàţēŕḿàŕķ ƒàďē-ĩń ōććũŕś àƒţēŕ à ƒũĺĺ ƥēŕĩōď.\"],\"cF5KzV\":[\"Ēďĩţ Ƒĩĺĺēŕ Ĺĩśţ\"],\"cFTdM+\":[\"Ćōńśōĺē\"],\"cHYx4E\":[\"Ēḿƥţŷ Ţŕàśĥ\"],\"cLgGtf\":[\"Ŕēśēţ ƥŕōĝŕàḿḿĩńĝ ţō ḿōśţ ŕēćēńţĺŷ śàvēď śţàţē\"],\"cN5Dty\":[\"Ńō Ƥŕōĝŕàḿḿĩńĝ śćĥēďũĺēď\"],\"cOvZFM\":[\"Ďŷńàḿĩć\"],\"cXkSYc\":[\"Ţĥēŕē ŵàś àń ēŕŕōŕ śũƀḿĩţţĩńĝ ţĥē ŕēǫũēśţ ţō ũƥďàţē Ḿēďĩà Śōũŕćē śēţţĩńĝś. Ƥĺēàśē ćĥēćķ ţĥē ƒōŕḿ àńď ţŕŷ àĝàĩń\"],\"caSM6R\":[\"Ţĥĩś ĩś ũśēď ƀŷ ĩƥţv ćĺĩēńţś ţō ćàţēĝōŕĩźē ţĥē ćĥàńńēĺś. Ŷōũ ćàń ĺēàvē ĩţ àś 'ţũńàŕŕ' ĩƒ ŷōũ ďōń'ţ ńēēď ţĥĩś śōŕţ ōƒ ćĺàśśĩƒĩćàţĩōń.\"],\"cgo+Ch\":[[\"remainingTime\"],\" ĺēƒţ\"],\"cheWPw\":[\"Ďũƥĺĩćàţēś\"],\"cjX7aq\":[\"Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ďēĺēţē Śḿàŕţ Ćōĺĺēćţĩōń \\\"\",[\"0\"],\"\\\"?\"],\"cmKYIw\":[\"Ōvēŕƒĺōŵ ßēĥàvĩōŕ\"],\"cmlWKg\":[\"<0>Ēŕŕōŕ ďēĺēţĩńĝ ćũśţōḿ śĥōŵ: \",[\"0\"],\"<1/>Ƥĺēàśē ćōńśĩďēŕ ōƥēńĩńĝ à ƀũĝ ŵĩţĥ ďēţàĩĺś!\"],\"cnCAaO\":[\"Ƥēŕćēńţàĝē-ßàśēď\"],\"cnGeoo\":[\"Ďēĺēţē\"],\"cv/ykT\":[\"Śēàŕćĥ Śēŕvēŕ ŨŔĹ:\"],\"cxrM1O\":[\"Ćōńńēćţ Śōũŕćēś\"],\"d5zxa4\":[\"Ĺōćàĺ\"],\"d72gcv\":[\"Ĺōũďńōŕḿ Ōƥţĩōńś\"],\"d9HhJj\":[\"Ţĥĩś ḿēďĩà śōũŕćē ĥàś ńō ēńàƀĺēď ōŕ śćàńńēď ĺĩƀŕàŕĩēś. Ēńàƀĺē ĺĩƀŕàŕĩēś ƒōŕ ţĥĩś śōũŕćē ōń ţĥē <0>Ḿēďĩà Śōũŕćēś ƥàĝē ōŕ ḿàńũàĺĺŷ ţŕĩĝĝēŕ śćàńś ōń ţĥē <1>Ĺĩƀŕàŕŷ ƥàĝē.\"],\"d9Tsiy\":[\"Ēŕŕōŕ ũƥďàţĩńĝ ćĥàńńēĺ.<0/>Ćĥēćķ ƀŕōŵśēŕ ćōńśōĺē ƒōŕ ďēţàĩĺś\"],\"d9XR+x\":[\"Ţŕàńśćōďē Ćōńƒĩĝ <0> <1/>\"],\"dBV/FP\":[\"Ĺōćķ Ŵēĩĝĥţś\"],\"dDX6oS\":[\"Vĩďēōś ƒŕōḿ ţĥē ƒĩĺĺēŕ ĺĩśţ ŵĩĺĺ ƀē ŕàńďōḿĺŷ ƥĩćķēď ţō ƥĺàŷ ũńĺēśś ţĥēŕē àŕē ćōōĺďōŵń ŕēśţŕĩćţĩōńś ţō ƥĺàćē ōŕ ĩƒ ńō vĩďēōś àŕē śĥōŕţ ēńōũĝĥ ƒōŕ ţĥē ŕēḿàĩńĩńĝ Ƒĺēx ţĩḿē.<0/>Ēàćĥ ƒĩĺĺēŕ ćàń ƀē àśśĩĝńēď à ćōōĺďōŵń, ŵĥĩćĥ ŕēśţŕĩćţś ĥōŵ ƒŕēǫũēńţĺŷ ţĥē ĺĩśţ ŵĩĺĺ ƀē ćĥōśēń ďũŕĩńĝ ƒĺēx ţĩḿē.\"],\"dEgA5A\":[\"Ćàńćēĺ\"],\"dH8AwH\":[\"Àďď ßŕēàķś\"],\"dK3Z9j\":[\"Ćōḿƥōńēńţ\"],\"dQvGiF\":[[\"0\",\"plural\",{\"one\":[\"#\",\" śēśśĩōń\"],\"other\":[\"#\",\" śēśśĩōńś\"]}]],\"dScixt\":[\"Ēńàƀĺē ďàŕķ Ḿōďē\"],\"dUyQn5\":[\"Ōń-Ďēḿàńď\"],\"daSf8d\":[\"Ĝŕōũƥ ēƥĩśōďē ƥŕōĝŕàḿś ƀŷ ţĥēĩŕ śĥōŵ.\"],\"djpQ8z\":[\"Ŕēĺōàď Śţŕēàḿ\"],\"dkURuB\":[\"Ţàĩĺ ßũƒƒēŕ (ḿĩńũţēś)\"],\"dnCwNB\":[\"Śũććēśśƒũĺĺŷ ćōƥĩēď ţō ćĺĩƥƀōàŕď!\"],\"eARDm/\":[[\"0\",\"plural\",{\"one\":[\"#\",\" śēàśōń\"],\"other\":[\"#\",\" śēàśōńś\"]}],\", \",[\"1\",\"plural\",{\"one\":[\"#\",\" ţōţàĺ ēƥĩśōďē\"],\"other\":[\"#\",\" ţōţàĺ ēƥĩśōďēś\"]}]],\"eEpDfJ\":[\"Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ďēćōďēŕ ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś.\"],\"eNorwJ\":[\"Ƥŕōĝŕàḿś Ţōō Ĺōńĝ\"],\"ePK91l\":[\"Ēďĩţ\"],\"eSsduj\":[\"VÀ-ÀƤĨ Ďēvĩćē\"],\"eZTFiP\":[\"Ŕēvĩēŵ Śēĺēćţĩōńś\"],\"eZe0fr\":[\"Àũďĩō Ćĥàńńēĺś\"],\"ecUA8p\":[\"Ţōďàŷ\"],\"efuwN9\":[\"Ţĥēśē śēţţĩńĝś àŕē śţōŕēď ĩń ŷōũŕ ƀŕōŵśēŕ àńď àŕē śàvēď àũţōḿàţĩćàĺĺŷ ŵĥēń ćĥàńĝēď.\"],\"eg6m1K\":[\"Ēďĩţ Ţŕàńśćōďē Ćōńƒĩĝ: \\\"\",[\"0\"],\"\\\"\"],\"ep+NHZ\":[\"Ĩƒ ŷōũ ƥŕōćēēď, àĺĺ ũńśàvēď ćĥàńĝēś ŵĩĺĺ ƀē ĺōśţ. Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ƥŕōćēēď?\"],\"et+mIi\":[\"Ţŕōũƀĺēśĥōōţ\"],\"euChZN\":[\"Ćŷćĺĩć Śĥũƒƒĺē\"],\"euc6Ns\":[\"Ďũƥĺĩćàţē\"],\"exYcTF\":[\"Ĺĩƀŕàŕŷ\"],\"eyRsaH\":[\"Ŕōōţ\"],\"f0w0IC\":[\"Ĺēàvē ƀĺàńķ ţō ũśē ţĥē ćĥàńńēĺ'ś ĩćōń.\"],\"f6Hub0\":[\"Śōŕţ\"],\"f6pgxW\":[\"Ţēḿƥōŕàŕĩĺŷ ćàćĥēś ŕēśƥōńśēś ƒŕōḿ Ƥĺēx ƀàśēď ƀŷ ŕēǫũēśţ ƥàţĥ. Ćōũĺď ƥōţēńţĩàĺĺŷ śƥēēď ũƥ ćĥàńńēĺ ēďĩţĩńĝ.\"],\"f7DWm5\":[\"Ńēēď àţ ĺēàśţ ōńē ƥàţĥ\"],\"fD+lMD\":[\"Śēĺēćţ ţĥē ƥōŕţ ţĥē Ţũńàŕŕ śēŕvēŕ ŵĩĺĺ ĺĩśţēń ōń. Ţĥĩś ŕēǫũĩŕēś à śēŕvēŕ ŕēśţàŕţ ţō ţàķē ēƒƒēćţ.\"],\"fI+mNw\":[\"Ƥĺàŷĺĩśţś\"],\"fJfo1A\":[\"Śēŕvēŕ Ƥàţĥ\"],\"fN4bgn\":[\"Ďēĺēţē Ƒĩĺĺēŕ Ĺĩśţ \\\"\",[\"0\"],\"\\\"?\"],\"fQ9phi\":[\"Ŕēḿōvē Àĺĺ\"],\"fSRZCh\":[\"Ŕēśţōŕē Ďēƒàũĺţ Śēţţĩńĝś\"],\"fU1065\":[\"Ḿĩď-Ŕōĺĺ\"],\"fWj7Tt\":[\"Śĥũƒƒĺē ƥŕōĝŕàḿḿĩńĝ ĩń à ćĥàńńēĺ, ōƥţĩōńàĺĺŷ ĝŕōũƥĩńĝ ƥŕōĝŕàḿś ƀŷ ćēŕţàĩń ćŕĩţēŕĩà.\"],\"fcqkKg\":[\"Ńōţ ƒōũńď!\"],\"fsBGk0\":[\"ßàĺàńćē\"],\"ftF4U5\":[\"Śĥōŵ Àďvàńćēď\"],\"fxTyFe\":[\"Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ \",[\"0\"],\" ōţĥēŕ \",[\"1\",\"plural\",{\"one\":[\"śĺōţ\"],\"other\":[\"śĺōţś\"]}],\"Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ.\"],\"fyo+NB\":[\"Ţĥē Ēńď.\"],\"fzWV5a\":[\"Śōŕţ ŢV Śĥōŵś (ďēść)\"],\"g2Pro3\":[\"Ŕēśēţ ćĥàńĝēś ḿàďē ţō ţĥē ćĥàńńēĺ'ś ĺĩńēũƥ\"],\"g6LxbB\":[\"ßŕēàķ Ĩńţēŕvàĺ (ḿĩńũţēś)\"],\"g7LzUS\":[\"Ĩńśţàĺĺ ƑƑḾƤĒĜ\"],\"gBx20d\":[\"Ćũśţōḿ Ƥŕōĝŕàḿ\"],\"gH5Gbn\":[\"Śĥũƒƒĺē\"],\"gJrGqR\":[\"ƑƑḿƥēĝ vēŕśĩōń 7.1+ ŕēćōḿḿēńďēď. Ćĥēćķ ŷōũŕ ćũŕŕēńţ vēŕśĩōń ĩń ţĥē śĩďēƀàŕ\"],\"gL9DoB\":[\"Ƥŕōĝŕàḿś śĥōŕţēŕ ţĥàń ţĥĩś vàĺũē ŵĩĺĺ ƀē ţŕēàţēď ţĥē śàḿē àś Ƒĺēx ţĩḿē. Ḿēàńĩńĝ ţĥàţ ţĥē ŢV Ĝũĩďē ŵĩĺĺ ţŕŷ ţō ḿēĺď ţĥēḿ ŵĩţĥ ţĥē ƥŕēvĩōũś ƥŕōĝŕàḿ ōŕ ďĩśƥĺàŷ ţĥē ƀĺōćķ ōƒ ƥŕōĝŕàḿś àś ţĥē \\\"ƥĺàćē ĥōĺďēŕ ƥŕōĝŕàḿ\\\" ĩƒ ţĥēŷ ḿàķē à ĺàŕĝē ćōńţĩńũōũś ĝŕōũƥ. Ũśē 0 ţō ďĩśàƀĺē ţĥĩś ƒēàţũŕē ōŕ ũśē à ĺàŕĝē vàĺũē ţō ḿàķē ţĥē ćĥàńńēĺ ŕēƥōŕţ ōńĺŷ ţĥē ƥĺàćēĥōĺďēŕ ƥŕōĝŕàḿ àńď ńōţ ţĥē ŕēàĺ ƥŕōĝŕàḿḿĩńĝ.\\n\",[\"0\"]],\"gR/hgc\":[\"Ēŕŕōŕ Àũďĩō\"],\"gcD6jw\":[\"Ĥĩďē ŵàţēŕḿàŕķ ďũŕĩńĝ ƒĩĺĺēŕ\"],\"gf/bM4\":[\"Ćōńţĩńũē ŵĩţĥ Ńēŵ Ćōńţēńţ\"],\"gg9/ya\":[\"Ŕēḿōvē \",[\"count\"],\" \",[\"0\"]],\"ghGSuE\":[\"Ēńśũŕēś ƥŕōĝŕàḿś ĥàvē à ńĩćē-ĺōōķĩńĝ śţàŕţ ţĩḿē, ĩţ ŵĩĺĺ àďď Ƒĺēx ţĩḿē ţō ƒĩĺĺ ţĥē ĝàƥś.\"],\"glVpbE\":[\"Ēàĝēŕ\"],\"h/qU8b\":[\"Ōvēŕŕĩďē ţĥē ďēƒàũĺţ \",[\"0\"],\" ďēvĩćē ƥàţĥ (ďēƒàũĺţś ţō <0>/ďēv/ďŕĩ/ŕēńďēŕĎ128 ōń Ĺĩńũx àńď ƀĺàńķ ōţĥēŕŵĩśē)\"],\"h4yKYk\":[\"Ńēxţ ŕũń\"],\"h8WhoR\":[\"Śĺōţ Śćĥēďũĺēŕ\"],\"hBGuBW\":[\"Ũśē ćĥàńńēĺ ďēƒàũĺţ\"],\"hBzeL7\":[\"Ţĩḿē ƀēƒōŕē ƒĩŕśţ ƀŕēàķ\"],\"hG89Ed\":[\"Ĩḿàĝē\"],\"hISVAG\":[\"Ḿēďĩà Śōũŕćēś àŕē ŵĥēŕē Ţũńàŕŕ śōũŕćēś ŷōũŕ ćōńţēńţ. Ḿēďĩà ćàń ćōḿē ƒŕōḿ ŷōũŕ ƒĩĺēśŷśţēḿ ōŕ à ŕēḿōţē śēŕvēŕ, ĺĩķē Ƥĺēx ōŕ ĵēĺĺŷƒĩń. Àţ ĺēàśţ ōńē Ḿēďĩà Śōũŕćē ĩś ńēćēśśàŕŷ ţō ćŕēàţē ćĥàńńēĺś àńď ƥĺàŷ ḿēďĩà ĩń Ţũńàŕŕ.\"],\"hQRttt\":[\"Śũƀḿĩţ\"],\"hQSabA\":[\"ŢŌ\"],\"hXfj39\":[\"Àũďĩō Śàḿƥĺē Ŕàţē\"],\"hXzOVo\":[\"Ńēxţ\"],\"hYgDIe\":[\"Ćŕēàţē\"],\"he3ygx\":[\"Ćōƥŷ\"],\"hehnjM\":[\"Àḿōũńţ\"],\"hhukVU\":[\"Ţŕàśĥēď ĩţēḿś àŕē ĩţēḿś ţĥàţ ŵēŕē ƥŕēvĩōũśĺŷ śćàńńēď, ƀũţ ńōţ ƒōũńď ĩń à ŕēćēńţ śćàń. Ţĥĩś ćōũĺď ƀē ďũē ţō ḿĩśśĩńĝ ƒĩĺēś ōŕ à ḿēďĩà śēŕvēŕ ńō ĺōńĝēŕ ŕēţũŕńĩńĝ ţĥē ĩţēḿ ƒŕōḿ ĩţś ÀƤĨ. Ţĥēśē ĩţēḿś ŵĩĺĺ ƀē ũńƥĺàŷàƀĺē ĩń ćĥàńńēĺś ĩń ţĥēĩŕ ćũŕŕēńţ śţàţē. Ŵĥēń ţĥē ţŕàśĥ ĩś ēḿƥţĩēď, ţĥēĩŕ śƥōţś ĩń ćĥàńńēĺś ŵĩĺĺ ƀē ŕēƥĺàćēď ŵĩţĥ ƒĺēx.\"],\"hjerov\":[\"Ĝũĩďē Śţàŕţ Ţĩḿē\"],\"hlIKor\":[\"Ńōńē:\"],\"hnFEC+\":[\"Ĩńĩţĩàĺ Ďēĺàŷ + Ĩńţēŕvàĺ\"],\"hrdWlG\":[\"Àďď Śĥōŵ\"],\"hvo+jE\":[\"Àďď ƥōĩńţ (%)\"],\"i1+yww\":[\"ƑƑƥŕōƀē vēŕśĩōń 6.0+ ŕēćōḿḿēńďēď. Ćĥēćķ ŷōũŕ ćũŕŕēńţ vēŕśĩōń ĩń ţĥē śĩďēƀàŕ\"],\"i2QuB6\":[\"Ēŕŕōŕ Śćŕēēń\"],\"i9rcQ/\":[\"Ḿōvĩēś\"],\"iH8pgl\":[\"ßàćķ\"],\"iQWhqk\":[\"ƑƑḾƤĒĜ ĩś ĩńśţàĺĺēď. Ďēţēćţēď vēŕśĩōń \",[\"0\"]],\"iTjV+L\":[\"À-Ź (ďēść)\"],\"ih+n6S\":[\"Ĺĩńēàŕ\"],\"ihCTE6\":[\"Ēŕŕōŕ ōććũŕŕēď ŵĥĩĺē ĺōàďĩńĝ ćĥàńńēĺś, ƥĺēàśē ţŕŷ àĝàĩń śōōń.\"],\"ihn4zD\":[\"Śēàŕćĥ…\"],\"ilkCYA\":[[\"0\",\"plural\",{\"one\":[\"Śēĺēćţēď Ĩţēḿ\"],\"other\":[\"Śēĺēćţēď Ĩţēḿś\"]}]],\"imrPBy\":[\"Ŵàţēŕḿàŕķ Ĩḿàĝē ŨŔĹ\"],\"isC0OF\":[\"Ũśē ţĥēśē śēţţĩńĝś ţō ōvēŕŕĩďē ĝĺōƀàĺ ƒƒḿƥēĝ śēţţĩńĝś ƒōŕ ţĥĩś ćĥàńńēĺ.\"],\"isRobC\":[\"Ńēŵ\"],\"isyw73\":[\"Àũţō ũśēś ţĥē ţĩḿē ćōńvēńţĩōń ƒōŕ ţĥē śēĺēćţēď ĺàńĝũàĝē.\"],\"jETaUB\":[\"ßũƒƒēŕ śĩźē ēƒƒēćţś ĥōŵ ƒŕēǫũēńţĺŷ ƒƒḿƥēĝ ŕēćōńśĩďēŕś ţĥē ōũţƥũţ ƀĩţŕàţē. <0>Ŕēàď ḿōŕē\"],\"jHjfnS\":[\"Àďď ƒĩĺĺēŕ\"],\"jZlrte\":[\"Ćōĺōŕ\"],\"jl3Q84\":[\"Ćŕēàţē à Ćĥàńńēĺ\"],\"jz1oG0\":[\"Śēĺēćţēď Àũďĩō\"],\"k6TRai\":[\"ƑƑḾƤĒĜ ţŕàńśćōďĩńĝ ĩś ŕēǫũĩŕēď ƒōŕ śōḿē ƒēàţũŕēś ĺĩķē ćĥàńńēĺ ōvēŕĺàŷ, śũƀţĩţĺēś, àńď ḿēàśũŕēś ţō ƥŕēvēńţ ĩśśũēś ŵĥēń śŵĩţćĥĩńĝ ēƥĩśōďēś.\"],\"kAidIP\":[\"Ƒàĩĺēď ţō ĺōàď ƒēàţũŕē ƒĺàĝś.\"],\"kBJRjR\":[\"Ďōŵńĺōàď àĺĺ ĺōĝś\"],\"kIYDzY\":[\"Śũććēśśƒũĺĺŷ ũƥďàţēď Ḿēďĩà Śōũŕćē śēţţĩńĝś.\"],\"kKgsI0\":[\"<0>Ćōńƒĩĝũŕē ţĥē ďĩŕēćţōŕŷ ŵĥēŕē Ţũńàŕŕ ŵŕĩţēś ĤĹŚ śēĝḿēńţ ƒĩĺēś ŵĥēń ţŕàńśćōďĩńĝ. Ţũńàŕŕ ŵĩĺĺ ćŕēàţē ţĥē ţàŕĝēţ ďĩŕēćţōŕŷ (ƀũţ ńōţ ĩńţēŕḿēďĩàţē ďĩŕēćţōŕĩēś) ĩƒ ĩţ ďōēśń'ţ ēxĩśţ.<1/>Ćĥàńĝĩńĝ ţĥĩś ƒĩēĺď ŵĩĺĺ ōńĺŷ àƒƒēćţ ńēŵ śēśśĩōńś. Ēxĩśţĩńĝ śēśśĩōńś ŵĩĺĺ ćōńţĩńũē ŵŕĩţĩńĝ ţō ţĥē ƥŕēvĩōũś śēţţĩńĝ, ƀũţ ŵĩĺĺ ćĺēàń ōũţ śēĝḿēńţś ŵĥēń ţĥē śēĝḿēńţ ēńďś.<2/>Ŵĥēń ũńśēţ, Ţũńàŕŕ ŵĩĺĺ ŵŕĩţē śēĝḿēńţś ţō ĩţś ćũŕŕēńţ ŵōŕķĩńĝ ďĩŕēćţōŕŷ.\"],\"kKk153\":[\"Ĺōàď Śţŕēàḿ\"],\"kO0aVB\":[\"ßŕēàķ Ďũŕàţĩōń (ḿĩńũţēś)\"],\"kThBL9\":[\"Śàḿƥĺē ŕàţē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō\"],\"kdkZBD\":[\"Ĩńćŕēḿēńţ\"],\"kii1WH\":[\"Ƥŕōĝŕàḿḿĩńĝ Ƥŕēvĩēŵ\"],\"kolyzq\":[\"Ţĥĩś \",[\"0\"],\" ĩś ḿàŕķēď àś ḿĩśśĩńĝ ĩń ţĥē ďàţàƀàśē.\"],\"kpfZ0g\":[\"Ḿĩńĩḿũḿ Ƥŕōĝŕàḿ Ďũŕàţĩōń (ḿĩńũţēś)\"],\"kq6sAD\":[\"Àďď ŢV Śĥōŵś ōŕ Ḿōvĩēś ţō ƒĩĺĺēŕ\"],\"ksFZi3\":[\"<0>Ēxƥēŕĩḿēńţàĺ: Ēńàƀĺē Ƥĺēx Ŕēǫũēśţ Ćàćĥē\"],\"kvMAno\":[\"Ŵēƀ Śēţţĩńĝś\"],\"l/UFPv\":[\"Ƥŕōƥēŕţĩēś\"],\"l0VyMh\":[\"Ƒĺēx\"],\"l15zKW\":[\"Àĺĺ Śēţ!\"],\"lBADOx\":[[\"count\",\"plural\",{\"one\":[\"#\",\" ēƥĩśōďē\"],\"other\":[\"#\",\" ēƥĩśōďēś\"]}]],\"lC2oeQ\":[\"Ḿàx Ďũŕàţĩōń (ḿĩńũţēś)\"],\"lCF0wC\":[\"Ŕēƒŕēśĥ\"],\"lIUgjN\":[\"Ēŕŕōŕ ćōƥŷĩńĝ ćĥàńńēĺ ḿ3ũ ĺĩńķ ţō ćĺĩƥƀōàŕď\"],\"lJSUC1\":[\"Ŵàţēŕḿàŕķ\"],\"lKCfnI\":[\"Àũďĩō Ĺàńĝũàĝē Ƥŕēƒēŕēńćēś\"],\"lS14fB\":[\"Ţĥēḿē Śēţţĩńĝś\"],\"lW3FB1\":[\"Ďōŵńĺōàď ĺàśţ \",[\"0\"],\" \",[\"1\",\"plural\",{\"one\":[\"#\",\" ŕōŵ\"],\"other\":[\"#\",\" ŕōŵś\"]}]],\"lWmRHf\":[\"Ţĩḿē Śĺōţś...\"],\"lZMqZ5\":[\"Ĩƒ ēńàƀĺēď, ŢV śĥōŵ ēƥĩśōďēś ŵĩĺĺ ũśē ţĥē ƥōśţēŕ ōƒ ţĥēĩŕ śĥōŵ, ĩńśţēàď ōƒ ţĥē ĩńďĩvĩďũàĺ ēƥĩśōďē ƥōśţēŕ.\"],\"laQT4o\":[\"Ţĥũḿƀńàĩĺ ŨŔĹ\"],\"lfFsZ4\":[\"Ćĥàńńēĺś\"],\"lkz6PL\":[\"Ďũŕàţĩōń\"],\"llDXYJ\":[\"ßàćķũƥś\"],\"lnABVQ\":[\"Ŕũń Ţŕōũƀĺēśĥōōţēŕ\"],\"m+8qnB\":[\"Ĺĩƀŕàŕŷ: \",[\"0\"]],\"m0Gp21\":[\"Śēĺēćţ à ƥŕōĝŕàḿ àńď ćĥàńńēĺ ţō ţēśţ ƥĺàŷƀàćķ. Ţĥē ţŕōũƀĺēśĥōōţēŕ ŵĩĺĺ àńàĺŷźē śţŕēàḿ śēĺēćţĩōń, ƀũĩĺď ţĥē ƑƑḿƥēĝ ƥĩƥēĺĩńē, àńď ŕũń à śĥōŕţ ţēśţ ţŕàńśćōďē.\"],\"m16xKo\":[\"Àďď\"],\"m48LOH\":[\"Ĥàŕďŵàŕē Àććēĺēŕàţĩōń\"],\"mCB6Je\":[\"Śēĺēćţ Àĺĺ\"],\"mDcLzR\":[\"Ćàćĥĩńĝ\"],\"mF+u2B\":[\"Ďōń'ţ śēē ţĥē ĺĩƀŕàŕŷ ŷōũ ŵàńţ ĥēŕē? Ēńśũŕē ĩţ ĩś ēńàƀĺēď ĩń ţĥē <0>Ḿēďĩà Śōũŕćē Śēţţĩńĝś.\"],\"mGM6Aa\":[\"Ćũśţōḿ Śĥōŵś àŕē śēǫũēńćēś ōƒ vĩďēōś ţĥàţ ŕēƥŕēśēńţ à ēƥĩśōďēś ōƒ à vĩŕţũàĺ ŢV śĥōŵ. Ŵĥēń ŷōũ àďď ţĥēśē śĥōŵś ţō à ćĥàńńēĺ, ţĥē śćĥēďũĺē ţōōĺś ŵĩĺĺ ţŕēàţ ţĥē vĩďēōś àś ĩƒ ţĥēŷ ƀēĺōńĝēď ţō à śĩńĝĺē ŢV śĥōŵ.\"],\"mHTMS1\":[\"Ńōŕḿàĺĩźē Ƒŕàḿē Ŕàţē\"],\"mQt7fl\":[[\"count\",\"plural\",{\"one\":[\"ƥŕōĝŕàḿ\"],\"other\":[\"ƥŕōĝŕàḿś\"]}]],\"mRWiYM\":[\"Ďũŕàţĩōń (śēćōńďś)\"],\"mWbpso\":[\"Ḿàx ßàćķũƥś\"],\"mYBORk\":[\"Ḿōvĩē\"],\"mYJG1x\":[\"Ŷōũŕ ĺĩśţ ŵĩĺĺ ƀē ŕēƥĺĩćàţēď \",[\"0\"],\" ţĩḿēś\"],\"mZFYjJ\":[\"Ēŕŕōŕ śàvĩńĝ ƥŕōĝŕàḿś. \",[\"0\"]],\"mZFr14\":[\"ĤĹŚ ńōţ śũƥƥōŕţēď ĩń ţĥĩś ƀŕōŵśēŕ!\"],\"md42bg\":[\"Ţŕàńśćōďē Ćōńƒĩĝ (ōƥţĩōńàĺ ōvēŕŕĩďē)\"],\"mgcp8D\":[\"Ĥōŵ ōƒţēń ţō ĩńśēŕţ à ƀŕēàķ\"],\"migeCK\":[\"Ƒĩĺţēŕ ŵĥĩćĥ śũƀţĩţĺē ţŕàćķś àŕē ćōńśĩďēŕēď<0/><1>Àńŷ: Àĺĺ śũƀţĩţĺē ţŕàćķś àŕē ćōńśĩďēŕēď <2/><3>Ƒōŕćēď: Ōńĺŷ ćōńśĩďēŕ <4>\\\"ƒōŕćēď\\\"śũƀţĩţĺē ţŕàćķś <5/><6>Ďēƒàũĺţ: Ōńĺŷ ćōńśĩďēŕ ďēƒàũĺţ śũƀţĩţĺē ţŕàćķś <7/><8>Ńōńē: Ďō ńōţ śēĺēćţ àńŷ śũƀţĩţĺēś\"],\"mtQjGe\":[\"Ćōńƒĩĝũŕē śũƀţĩţĺē ƥŕēƒēŕēńćēś. Ƥŕēƒēŕēńćēś àŕē ēvàĺũàţēď ĩń ōŕďēŕ ōƒ ƥŕĩōŕĩţŷ. Ţĥē ƒĩŕśţ ḿàţćĥĩńĝ śũƀţĩţĺē śţŕēàḿ ōń à ƥŕōĝŕàḿ ŵĩĺĺ ƀē ũśēď.\"],\"mvU6s8\":[\"Śōŕţ ŢV Śĥōŵś\"],\"mwtge0\":[\"Śţàŕţēď \",[\"startedAgo\"],\" - \",[\"remainingTime\"],\"ŕēḿàĩńĩńĝ\"],\"n+7HJk\":[\"Ŵĥēń ƒĩĺē ƥàţĥś ōń ţĥē ŕēḿōţē śēŕvēŕ ďĩƒƒēŕ ƒŕōḿ ţĥē ƥàţĥś Ţũńàŕŕ ćàń śēē, ũśē Ƥàţĥ Ŕēƥĺàćēḿēńţś ţō ĩńśţŕũćţ Ţũńàŕŕ ĥōŵ ţō śţŕēàḿ ḿēďĩà ƒŕōḿ ďĩśķ.\"],\"n9nSNJ\":[\"Ţĩḿē ƒōŕḿàţ\"],\"nH6YaM\":[\"Ōţĥēŕ Vĩďēōś\"],\"nSW2Lv\":[[\"days\",\"plural\",{\"one\":[\"#\",\" ďàŷ\"],\"other\":[\"#\",\" ďàŷś\"]}]],\"nV6twc\":[\"Ōŕĝàńĩźē\"],\"nYD/Cq\":[\"Àśćēńďĩńĝ\"],\"nZXc7r\":[\"Ũńĺĩńķ ƒŕōḿ ĝŕōũƥ\"],\"nfAddt\":[\"ƑƑḿƥēĝ Ţŕàńśćōďē Ƥàţĥ\"],\"nfxRnc\":[\"Ţũńàŕŕ ĩś ćũŕŕēńţĺŷ ćōńƒĩĝũŕēď ţō ũśē ţĥē ÀĆ3 àũďĩō ēńćōďēŕ. Ţĥĩś àũďĩō ƒōŕḿàţ ĩś ńōţ śũƥƥōŕţēď ƀŷ ƀŕōŵśēŕś. Ţĥē ŕēśũĺţàńţ śţŕēàḿ ŵĩĺĺ ĺĩķēĺŷ ńōţ ĥàvē àũďĩō ōŕ ŵĩĺĺ ńōţ ƥĺàŷ àţ àĺĺ.\"],\"njIcYs\":[\"Śàvē àś ńēŵ ćōĺĺēćţĩōń…\"],\"ntJ9rt\":[\"ĤĹŚ Ďĩŕēćţ Ōũţƥũţ Ƒōŕḿàţ\"],\"nzDzPp\":[\"ţōĝĝĺē àććēśś ţōķēń vĩśĩƀĩĺĩţŷ\"],\"o0+Ul2\":[\"Àďď Ƒĺēx\"],\"o2Ucvk\":[\"Ĺĩƀŕàŕĩēś\"],\"o6OQlp\":[\"Ēďĩţ Ćĥàńńēĺ\"],\"o7J4JM\":[\"Ƒĩĺţēŕ\"],\"o7Y4WO\":[\"Ēŕŕōŕ śàvĩńĝ ńēŵ Ēḿƀŷ śēŕvēŕ. Śēē ƀŕōŵśēŕ ćōńśōĺē àńď śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"oADXRC\":[\"Ćàĺćũĺàţēď \",[\"humanizedDuration\"],\" (\",[\"numShows\"],\" ƥŕōĝŕàḿś) ōƒ ƥŕōĝŕàḿḿĩńĝ ĩń \",[\"duration\"],\"ḿś\"],\"oCHfGC\":[\"Ĺēvēĺ\"],\"oCpfQF\":[\"Ţĥĩś ƒēàţũŕē ĩś ćũŕŕēńţĺŷ ēxƥēŕĩḿēńţàĺ. Ƥŕōćēēď ŵĩţĥ ćàũţĩōń àńď ĩƒ ŷōũ ēxƥēŕĩēńćē àń ĩśśũē, ţŕŷ ďĩśàƀĺĩńĝ ćàćĥĩńĝ.\"],\"oEZmaP\":[[\"count\",\"plural\",{\"one\":[\"#\",\" śēàśōń\"],\"other\":[\"#\",\" śēàśōńś\"]}]],\"oMA2jd\":[\"Ŕēḿōvēś àńŷ śƥēćĩàĺś ƒŕōḿ ţĥē śćĥēďũĺē. Śƥēćĩàĺś àŕē ēƥĩśōďēś ŵĩţĥ śēàśōń '00'.\"],\"oPWgse\":[\"Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƀŕēàķś ƥēŕ ƥŕōĝŕàḿ (0 = ũńĺĩḿĩţēď)\"],\"ofUcbc\":[\"Ŕàńďōḿ\"],\"oihuQr\":[\"Ńũḿƀēŕ ōƒ Ŕēƥĺĩćàţĩōńś\"],\"ousf2V\":[\"Ŕàńďōḿ…\"],\"ovBPCi\":[\"Ďēƒàũĺţ\"],\"oxvBx3\":[\"Ĩƒ śēţ, àńŷ ƥŕōĝŕàḿḿĩńĝ ĝŕōũƥ ŵĩţĥ ƒēŵēŕ ēƥĩśōďēś ŵĩĺĺ ƀē ĺōōƥēď ĩń ōŕďēŕ ţō ḿàķē ƥēŕƒēćţĺŷ ēvēń ƀĺōćķś.\"],\"p/78dY\":[\"Ƥōśĩţĩōń\"],\"p/KgUp\":[\"Ţĥē ćĥàńńēĺ'ś ŕēĝũĺàŕ ƥŕōĝŕàḿḿĩńĝ ƀēţŵēēń ţĥē śƥēćĩƒĩēď ĥōũŕś. Ƒĺēx ţĩḿē ŵĩĺĺ ƒĩĺĺ ũƥ ţĥē ŕēḿàĩńĩńĝ ĥōũŕś.\"],\"p04z/V\":[\"# Ƥŕōĝŕàḿś\"],\"p4XZFD\":[\"Ĺōćàĺ Ƥàţĥ\"],\"pDwcFl\":[\"Śàvē Śḿàŕţ Ćōĺĺēćţĩōń\"],\"pKYBXC\":[\"Ĺàśţ Śćĥēďũĺēď Ēxēćũţĩōń\"],\"paEQ75\":[\"\\\"Śţēàĺţĥ\\\" ćĥàńńēĺś àŕē ĥĩďďēń ƒŕōḿ ŢV ĝũĩďēś, śƥōōƒēď ĤĎĤŔ, ḿ3ũ ƥĺàŷĺĩśţ, ēţć. Ţĥē ćĥàńńēĺ ćàń śţĩĺĺ ƀē śţŕēàḿēď ďĩŕēćţĺŷ ōŕ ƀē ũśēď àś à ŕēďĩŕēćţ ţàŕĝēţ.\"],\"pcRxi1\":[\"Ĥōŵ ƒŕēǫũēńţĺŷ ĺĩƀŕàŕĩēś śĥōũĺď ƀē śćàńńēď (śţàŕţĩńĝ ƒŕōḿ ḿĩďńĩĝĥţ).\"],\"pdlmIS\":[\"<0>Ēŕŕōŕ ďēĺēţĩńĝ ƒĩĺĺēŕ ĺĩśţ: \",[\"0\"],\"<1/>Ƥĺēàśē ćōńśĩďēŕ ōƥēńĩńĝ à ƀũĝ ŵĩţĥ ďēţàĩĺś!\"],\"pkERVr\":[\"Ďōŵńĺōàď ĵŚŌŃ\"],\"pqarBu\":[\"Àść\"],\"pvnfJD\":[\"Ďàŕķ\"],\"pwPreK\":[\"Ŕēśţŕĩćţ Ĥōũŕś\"],\"pxh+PI\":[\"ßũĩĺďēŕ\"],\"q6GKgP\":[\"VÀÀƤĨ Ćàƥàƀĩĺĩţĩēś\"],\"q6nlo/\":[\"Śũƀţĩţĺē Àćţĩōń\"],\"q9p3Xw\":[\"ßĩţŕàţē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō\"],\"qAGp2O\":[\"Ƥŕōćēēď\"],\"qG6T/X\":[\"Àďď Ƥŕōĝŕàḿḿĩńĝ\"],\"qKNcv7\":[\"Ĝēńēŕàţĩńĝ ßũĝ Ŕēƥōŕţ Ĺĩńķ...\"],\"qV9xkb\":[\"Ƥàśśţĥŕōũĝĥ àũďĩō ũńćĥàńĝēď. Ōţĥēŕ śēţţĩńĝś ŵĩĺĺ ńōţ àƥƥĺŷ.\"],\"qiXmlF\":[\"Àďď Ḿēďĩà\"],\"qjW34v\":[\"Ţĥĩś ćĥàńńēĺ ĩś śēţ ũƥ ţō ũśē <0>\",[\"0\"],\"Śĺōţś ƒōŕ ƥŕōĝŕàḿḿĩńĝ. Àńŷ ḿàńũàĺ ćĥàńĝēś ōń ţĥĩś ƥàĝē ŵĩĺĺ ĺĩķēĺŷ ḿàķē ţĥĩś ćĥàńńēĺ śţōƥ àďĥēŕĩńĝ ţō ţĥàţ śćĥēďũĺē.\"],\"qlR1dD\":[\"Ďēĺēţē Ćĥàńńēĺ \\\"\",[\"0\"],\"\\\"?\"],\"qs/mhD\":[\"Ēńśũŕēś ƥŕōĝŕàḿś śţàŕţ ōńĺŷ àţ à ƥàŕţĩćũĺàŕ ĩńţēŕvàĺ ŵĩţĥĩń ţĥē ĥōũŕ. Ţĥĩś ḿàķēś ƒōŕ ńĩćē ĺōōķĩńĝ śćĥēďũĺēś. Ƒĺēx ţĩḿē ĩś śćĥēďũĺēď ţō ƒàćĩĺĩţàţē.\"],\"r3ptXC\":[\"Ḿàńũàĺĺŷ àďď àń àććēśś ţōķēń ƒŕōḿ ŷōũŕ ĵēĺĺŷƒĩń śēŕvēŕ\"],\"r9sc/0\":[\"Ďũŕàţĩōń ḿũśţ ƀē ńũḿēŕĩć\"],\"rAx5u1\":[\"Ēńď Ţĩḿē\"],\"rPEEWz\":[\"Śũććēśśƒũĺĺŷ śàvēď ćōńƒĩĝ!\"],\"rSZlvN\":[\"Ƥŕōĝŕàḿḿĩńĝ Śţàŕţ\"],\"rhEkXj\":[\"Ĥēàď\"],\"rl/8FN\":[\"Ćōḿḿĩţ\"],\"rnbEQB\":[\"Ćōƥŷ Ḿ3Ũ ŨŔĹ\"],\"roIf2/\":[\"Ōń-Ďēḿàńď?\"],\"rtDDIV\":[\"Ēďĩţ Śĺōţ\"],\"ru5qTc\":[\"Ēďĩţ Ḿēďĩà Śōũŕćē\"],\"rx5Ria\":[\"Àĺĺ ĺĩśţś àŕē ũśēď\"],\"rxumR2\":[\"Ḿàţćĥ àńŷ ōƒ\"],\"s2OE0W\":[\"Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ ĵēĺĺŷƒĩń Śēŕvēŕ\"],\"s4iETe\":[\"Ţŕàńśćōďē Ćōńƒĩĝ\"],\"s6lNC3\":[\"Ƒàĺĺƀàćķ Ḿōďē\"],\"s8zbIS\":[\"Ĩńćĺũďē Śēàśōńś\"],\"sA8Jt7\":[\"Ţĥĩś śĺōţ ŕēƥĺàŷś ćōńţēńţ àĩŕēď ƀŷ ćōńţĩńũē śĺōţś ēàŕĺĩēŕ ĩń ţĥē ƥēŕĩōď.\"],\"sBJ5MF\":[\"Śōũŕćēś\"],\"sNnXh6\":[\"Ōŕďēŕ ōƒ ƥŕōĝŕàḿḿĩńĝ ŵĩţĥĩń ţĥē śĺōţ\"],\"sUtIRs\":[\"àƀōũţ \"],\"sVVcvs\":[\"Ēxƥēŕĩḿēńţàĺ Ƒēàţũŕēś\"],\"sfbjgG\":[\"Àũďĩō Ƒōŕḿàţ\"],\"sxkWRg\":[\"Àďvàńćēď\"],\"sxwNOp\":[\"Ĺōĝś Ďĩŕēćţōŕŷ:\"],\"sztQMJ\":[\"Ƥŕōĝŕàḿś à Ƒĺēx ţĩḿē śĺōţ. Ńōŕḿàĺĺŷ ŷōũ'ď ũśē ƥàď ţĩḿēś, ŕēśţŕĩćţ ţĩḿēś ōŕ àďď ƀŕēàķś ţō àďď à ĺàŕĝē ǫũàńţĩţŷ ōƒ Ƒĺēx ţĩḿēś àţ ōńćē, ƀũţ ţĥĩś ēxĩśţś ƒōŕ ḿōŕē śƥēćĩƒĩć ćàśēś.\"],\"t/YqKh\":[\"Ŕēḿōvē\"],\"t3hvHq\":[\"Śŷńć Ńōŵ\"],\"t5q6kk\":[\"Ƒōŕ ḿōŕē ďēţàĩĺś ōń ḿàńũàĺĺŷ ŕēţŕĩēvĩńĝ à Ƥĺēx ţōķēń, śēē <0>ĥēŕē\"],\"t6+QCF\":[[\"count\"],\" \",[\"programLabel\"],\", \",[\"0\"]],\"t8Hzw3\":[\"Ćŷćĺĩć Śĥũƒƒĺē ŕàńďōḿĺŷ śĥũƒƒĺēś ĝŕōũƥś ōƒ ƥŕōĝŕàḿḿĩńĝ.\"],\"tDuQbQ\":[\"Śţŕēàḿ Ḿōďē\"],\"tEvsql\":[\"Śũƀţĩţĺēś\"],\"tH1aCG\":[\"Vĩďēō ßĩţŕàţē\"],\"tMxWK0\":[\"Àďďś Ƒĺēx ƀŕēàķś àƒţēŕ ēàćĥ ŢV ēƥĩśōďē ōŕ ḿōvĩē ţō ēńśũŕē ţĥàţ ţĥē ƥŕōĝŕàḿ śţàŕţś àţ ōńē ōƒ ţĥē àĺĺōŵēď ḿĩńũţē ḿàŕķś. Ƒōŕ ēxàḿƥĺē, ŷōũ ćàń ũśē ţĥĩś ţō ēńśũŕē ţĥàţ àĺĺ ŷōũŕ ƥŕōĝŕàḿś śţàŕţ àţ ēĩţĥēŕ XX:00 ţĩḿēś ōŕ XX:30 ţĩḿēś. Ŕēḿōvēś àńŷ ēxĩśţĩńĝ Ƒĺēx ƥēŕĩōďś ƀēƒōŕē àďďĩńĝ ţĥē ńēŵ ōńēś. Ţĥĩś ƀũţţōń ḿĩĝĥţ ƀē ďĩśàƀĺēď ĩƒ ţĥē ćĥàńńēĺ ĩś àĺŕēàďŷ ţōō ĺàŕĝē.\"],\"tPGTPB\":[\"Ŕōĺĺ ţĥē ĺōĝ ƒĩĺē ōń à ƒĩxēď śćĥēďũĺē, ŕēĝàŕďĺēśś ōƒ ƒĩĺē śĩźē.\"],\"tRgOE5\":[\"ßàĺàńćē Ƥŕōĝŕàḿḿĩńĝ\"],\"tXkhj/\":[\"Śţàŕţ\"],\"tXub8j\":[\"Ďĩśƥĺàŷ Ŵàţēŕḿàŕķ ōń Ĺēàďĩńĝ Ēďĝē\"],\"tYuxvA\":[\"ƑƑḾƤĒĜ\"],\"tfDRzk\":[\"Śàvē\"],\"tgPwON\":[\"Ōƥēŕàţōŕ\"],\"ti6ugP\":[\"Ēŕŕōŕ ŵĥĩĺē śàvĩńĝ ţŕàńśćōďē ćōńƒĩĝ. Śēē ćōńśōĺē ĺōĝ ƒōŕ ďēţàĩĺś.\"],\"tkDYSE\":[[\"hours\",\"plural\",{\"one\":[\"#\",\" ĥōũŕ\"],\"other\":[\"#\",\" ĥōũŕś\"]}]],\"tlMRNb\":[\"Ţĥē ĺōàďēď vēŕśĩōń ōƒ ţĥē Ţũńàŕŕ ŨĨ ďōēś ńōţ ḿàţćĥ ţĥē śēŕvēŕ. Ŕēĺōàď ţĥē ƀŕōŵśēŕ ţō ĝēţ ţĥē ĺàţēśţ. Ĩƒ ţĥĩś ḿēśśàĝē ƥēŕśĩśţś, ćĺēàŕ ŷōũŕ ƀŕōŵśēŕ ćàćĥē àńď ŕēĺōàď.\"],\"tlNobE\":[\"Ćũśţōḿ Śĥōŵ: \",[\"0\"]],\"tlmh8e\":[\"Àďď àĺĺ śēĺēćţēď ƥŕōĝŕàḿś ţō ćĥàńńēĺ\"],\"tsqRRB\":[[\"0\"],\" Ƥōśţēŕ\"],\"ty8rVI\":[\"Ńōŵ Ƥĺàŷĩńĝ:\"],\"tzwArf\":[\"Vĩēŵ ĩń \",[\"0\"]],\"u+VWhB\":[\"Ćōƥĩēď ţō ćĺĩƥƀōàŕď!\"],\"u+zFIr\":[\"Ŕēśţŕĩćţ śēàŕćĥ ƒĩēĺďś\"],\"uAQUqI\":[\"Śţàţũś\"],\"uHTa9V\":[\"Ţō ũśē Ţũńàŕŕ, ŷōũ ńēēď ţō ƒĩŕśţ ćōńńēćţ à ḿēďĩà śōũŕćē. Ţĥĩś ŵĩĺĺ àĺĺōŵ ŷōũ ţō ƀũĩĺď ćũśţōḿ ćĥàńńēĺś ŵĩţĥ ŷōũŕ ćōńţēńţ.\"],\"uLiDe/\":[\"Ēńàƀĺē ēḿƀēďďēď śũƀţĩţĺē ēxţŕàćţĩōń\"],\"uUTf8r\":[\"Ďēĺēţē Ćũśţōḿ Śĥōŵ \\\"\",[\"0\"],\"\\\"?\"],\"uamufO\":[\"Àďď ŢV Śĥōŵś ōŕ Ḿōvĩēś ţō ƥŕōĝŕàḿḿĩńĝ ĺĩśţ.\"],\"ueG1bp\":[\"Ƥŕōĝŕàḿ Ćōũńţ\"],\"ueLbrY\":[\"Ĩƒ ţŕũē, àďĴũśţĩńĝ ţĥē ŵēĩĝĥţ ōƒ ōńē śĺōţ ŵĩĺĺ śćàĺē ţĥē ŵēĩĝĥţś ōƒ ōţĥēŕ śĺōţś śũćĥ ţĥàţ àĺĺ ŵēĩĝĥţś ţōţàĺ 100%. Ōţĥēŕŵĩśē, ŵēĩĝĥţś ćàń ƀē àďĴũśţēď ƒŕēēĺŷ àńď ţĥē ŵēĩĝĥţ ōƒ ēàćĥ śĺōţ ĩś ōńĺŷ ŕēĺàţĩvē ţō ţĥē ţōţàĺ ŵēĩĝĥţ.\"],\"uixVel\":[\"ßŷ ďēƒàũĺţ, śàvēś ƀàćķũƥś ĩń ţĥē śēŕvēŕ'ś ŕũń ďĩŕēćţōŕŷ, ōŕ, ĩƒ ŕũńńĩńĝ ĩń Ďōćķēŕ, ţō /ćōńƒĩĝ/ţũńàŕŕ/ƀàćķũƥś\"],\"uyR9ei\":[\"ßĺōćķ Śĥũƒƒĺē\"],\"v4nbQ4\":[\"Ĩƒ ńō ḿōŕē ƥŕōĝŕàḿś ćàń ƒĩţ ĩńţō à ďũŕàţĩōń-ƀàśēď śĺōţ, ƒĺēx ţĩḿē ĩś àďďēď ţō ƒĩĺĺ ţĥē ĝàƥ. Ţĥĩś śēţţĩńĝ ďēţēŕḿĩńēś ĥōŵ ƒĺēx ĩś àďďēď <0>ŵĩţĥĩń ţĥē śĺōţ ţō ēńśũŕē àĺĺ ţĩḿē ĩś ƒĩĺĺēď.<1/><2>ßēţŵēēń: Ƒĺēx ţĩḿē ĩś àďďēď ƀēţŵēēń vĩďēōś ŵĩţĥĩń à śĺōţ, ĩƒ ţĥēŕē àŕē ḿũĺţĩƥĺē<3/><4>Ēńď: Ƒĺēx ţĩḿē ĩś àďďēď àţ ţĥē ēńď ōƒ ţĥē śĺōţ\"],\"v5IstB\":[\"àƒţēŕ ēvēŕŷ ƥŕōĝŕàḿ\"],\"v5URfV\":[\"Ĺĩķē Ŕàńďōḿ Śĥũƒƒĺē, ƀũţ ţŕĩēś ţō ƥŕēśēŕvē ţĥē śēǫũēńćē ōƒ ēƥĩśōďēś ƒōŕ ēàćĥ ŢV śĥōŵ. Ĩƒ à ŢV śĥōŵ ĥàś ḿũĺţĩƥĺē ĩńśţàńćēś ōƒ ĩţś ēƥĩśōďēś, ţĥēŷ àŕē àĺśō ćŷćĺēď àƥƥŕōƥŕĩàţēĺŷ.\"],\"vAK/B1\":[\"Àũďĩō Àćţĩōń\"],\"vCBet9\":[\"Ńōţ à vàĺĩď ńũḿƀēŕ\"],\"vERlcd\":[\"Ƥŕōƒĩĺē\"],\"vGRvxs\":[\"Ćĥàńńēĺ ĝŕōũƥ ĩś ŕēǫũĩŕēď\"],\"vLf7qg\":[\"Ĩńţēŕvàĺ (ḿĩńũţēś)\"],\"vSJd18\":[\"Vĩďēō\"],\"vU/Hht\":[\"Ďĩśţŕĩƀũţĩōń\"],\"vXIe7J\":[\"Ĺàńĝũàĝē\"],\"vcvFVw\":[\"Ēśćàƥē Ĥàţćĥēś\"],\"vkA4W/\":[\"Śōũŕćē Ţŷƥē\"],\"vn3SVH\":[\"Ćōũĺď ńōţ ƥàŕśē ţĥĩś ƒĩĺţēŕ ēxƥŕēśśĩōń. Ćĥēćķ ţĥē <0>ďōćũḿēńţàţĩōń ƒōŕ ĩńƒōŕḿàţĩōń àƀōũţ ƒĩĺţēŕ ēxƥŕēśśĩōńś.\"],\"vreTxe\":[[\"count\",\"plural\",{\"one\":[\"#\",\" ƥŕōĝŕàḿ\"],\"other\":[\"#\",\" ƥŕōĝŕàḿś\"]}]],\"vwFKu0\":[\"Ćàśţ & Ćŕēŵ\"],\"vyL1gO\":[\"Ŕēĺēàśē Ďàţē (ďēść)\"],\"w/bY7R\":[\"Ĺōĝś\"],\"w2pCRr\":[\"Śĥōŵ:\"],\"w3KBq0\":[\"Àĺĺōŵś ƥŕōĝŕàḿś ţō ƥĺàŷ à ƀĩţ ĺàţē ĩƒ ţĥē ƥŕēvĩōũś ƥŕōĝŕàḿ ţōōķ ĺōńĝēŕ ţĥàń ũśũàĺ. Ĩƒ à ƥŕōĝŕàḿ ĩś ţōō ĺàţē, Ƒĺēx ĩś śćĥēďũĺēď ĩńśţēàď.\"],\"w3g+lo\":[\"Ĺēţ'ś ĝēţ śţàŕţēď...\"],\"wBmIEf\":[\"Ńũḿƀēŕ ōƒ ĥōũŕś ţō ĩńćĺũďē ĩń ţĥē XḾĹŢV ƒĩĺē\"],\"wBo/7A\":[\"Ēŕŕōŕ ŵĥĩĺē śćĥēďũĺĩńĝ \",[\"taskId\"],\". Ćĥēćķ śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"wKClDM\":[\"Àďďś à ćĥàńńēĺ ŕēďĩŕēćţ. Ďũŕĩńĝ ţĥĩś ƥēŕĩōď ōƒ ţĩḿē, ţĥē ćĥàńńēĺ ŵĩĺĺ ŕēďĩŕēćţ ţō àńōţĥēŕ ćĥàńńēĺ.\"],\"wMHvYH\":[\"Vàĺũē\"],\"wOUKOZ\":[\"Ḿàx Ţŕũē Ƥēàķ\"],\"wZOYCY\":[\"Vĩďēō Ƒōŕḿàţ\"],\"wdfBIP\":[\"Śōŕţ ßŷ...\"],\"wdxz7K\":[\"Śōũŕćē\"],\"wkQ2tb\":[\"Àďďś Ƒĺēx ƀŕēàķś àƒţēŕ ēàćĥ ŢV ēƥĩśōďē ōŕ ḿōvĩē ţō ēńśũŕē ţĥàţ ţĥē ƥŕōĝŕàḿ śţàŕţś àţ ōńē ōƒ ţĥē àĺĺōŵēď ḿĩńũţē ḿàŕķś.\"],\"wlYdUk\":[[\"count\",\"plural\",{\"one\":[\"ĥōũŕ\"],\"other\":[\"ĥōũŕś\"]}]],\"wpT1VN\":[\"Ćōńďĩţĩōń\"],\"wtuVU4\":[\"Ƒŕēǫũēńćŷ\"],\"wwu18a\":[\"Ĩćōń\"],\"x+AjXa\":[\"Ćĥàńńēĺ Ƒàĺĺƀàćķ\"],\"x/dwZe\":[\"Ēńàƀĺē ĩƒ ţĥē ŵàţēŕḿàŕķ ĩś àń àńĩḿàţēď ĜĨƑ ōŕ ƤŃĜ. Ţĥē ŵàţēŕḿàŕķ ŵĩĺĺ ĺōōƥ àććōŕďĩńĝ ţō ţĥē ĩḿàĝē'ś ćōńƒĩĝũŕàţĩōń. Ĩƒ ţĥĩś ōƥţĩōń ĩś ēńàƀĺēď àńď ţĥē ĩḿàĝē ĩś ńōţ àńĩḿàţēď, ţĥēŕē ŵĩĺĺ ƀē ƥĺàŷƀàćķ ēŕŕōŕś.\"],\"x1tGMH\":[\"Ōvēŕŕĩďē ĥōŵ ƥŕōĝŕàḿś ŵĩţĥĩń ţĥĩś śĺōţ àŕē ƥàďďēď.\"],\"x6/Zc6\":[\"Ţàĩĺ\"],\"x63PSs\":[\"Śēàŕćĥ ƒōŕ śĥōŵś\"],\"x7PDL5\":[\"Ĺōĝĝĩńĝ\"],\"xCJdfg\":[\"Ćĺēàŕ\"],\"xDAtGP\":[\"Ḿēśśàĝē\"],\"xDPFrK\":[\"Śćàń \",[\"0\"]],\"xGVfLh\":[\"Ćōńţĩńũē\"],\"xGYZfl\":[\"Ēďĩţ Ĺĩƀŕàŕĩēś\"],\"xIn7qU\":[\"Ďĩśàƀĺē Ĥàŕďŵàŕē Ďēćōďĩńĝ\"],\"xJIepX\":[\"Ďēƒàũĺţ Ćōńƒĩĝ\"],\"xOkMus\":[\"Ĥàŕďŵàŕē Àććēĺ.\"],\"xPmesF\":[\"Ĺōũďńēśś Ŕàńĝē Ţàŕĝēţ\"],\"xQC5se\":[\"Àďvàńćēď Vĩďēō Ōƥţĩōńś\"],\"xXrtPO\":[\"Ƒàĩĺēď ţō ĺōàď ĩţēḿ ďēţàĩĺś! Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś\"],\"xazqmy\":[\"Śēàśōńś\"],\"xbtgIC\":[\"ĤŴ Àććēĺēŕàţĩōń\"],\"xdA/+p\":[\"Ţōōĺś\"],\"xmBknQ\":[\"Ƒĩĺĺēŕ Ĺĩśţś\"],\"xptXTM\":[\"Śēĺēćţ Àŕţĩśţś ţō Ŕēḿōvē\"],\"xqIrnW\":[\"Ĺĩƀŕàŕŷ Ćĺĩƥ (ńōţ ŷēţ ĩḿƥĺēḿēńţēď)\"],\"xu3Kah\":[[\"0\",\"plural\",{\"one\":[\"#\",\" ƥŕōĝŕàḿ\"],\"other\":[\"#\",\" ƥŕōĝŕàḿś\"]}]],\"y28hnO\":[\"Ƥōśţ\"],\"y4Jmre\":[\"ßŕēàķ Ďũŕàţĩōń\"],\"y4iKY3\":[[\"count\",\"plural\",{\"one\":[\"#\",\" àĺƀũḿ\"],\"other\":[\"#\",\" àĺƀũḿś\"]}]],\"y5x0aB\":[[\"0\"],\" Ĩńƒō\"],\"y7wpam\":[[\"value\",\"plural\",{\"one\":[\"#\",\" ƥŕōĝŕàḿ\"],\"other\":[\"#\",\" ƥŕōĝŕàḿś\"]}]],\"yDUcwc\":[\"Ḿàńũàĺĺŷ àďď àń àććēśś ţōķēń ƒŕōḿ ŷōũŕ Ēḿƀŷ śēŕvēŕ\"],\"yPE51X\":[\"Ćōńƒĩĝũŕē ţŕàńśćōďĩńĝ śēţţĩńĝś ƒōŕ Ţũńàŕŕ'ś śţŕēàḿś. Ēàćĥ ćĥàńńēĺ ĩś àśśĩĝńēď ōńē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōń.\"],\"yPK7+5\":[\"Àũţō-Ũƥďàţē Ĝũĩďē\"],\"yQE2r9\":[\"Ĺōàďĩńĝ\"],\"yRkqG9\":[\"Ĺĩḿĩţ\"],\"yX8Rkw\":[\"Àďď Àĺĺ\"],\"yftDqj\":[\"Ńēŵ Ƒĩĺĺēŕ Ĺĩśţ\"],\"yjzkvk\":[\"Śţōƥ Ţŕàńśćōďē Śēśśĩōń\"],\"ysJk7v\":[\"Ḿōvĩē Śōŕţ Ōŕďēŕ\"],\"ysecYP\":[\"Śēàŕćĥ ƒōŕ à ƥŕōĝŕàḿ\"],\"ytXxnP\":[\"Ƒōŕćēď\"],\"yz/C2/\":[\"Ŕēŕũń\"],\"yz7wBu\":[\"Ćĺōśē\"],\"z4K9d+\":[\"Ŕōĺĺ ƀàśēď ōń śĩźē\"],\"z61uNR\":[\"Àďď Ƒĺēx Ţĩḿē\"],\"zV6tsp\":[\"Ćōńśōĺĩďàţē\"],\"zV9awV\":[\"Ƒōŕćē Śćàń\"],\"zpylsE\":[\"Ţŕàńśćōďĩńĝ Śēţţĩńĝś\"],\"zrmjn/\":[\"Ḿàx Ďũŕàţĩōń\"],\"zthKEs\":[\"Ţĥē śţŕēàḿĩńĝ ḿōďē àƒƒēćţś ţĥē ţŷƥē ōƒ ũńďēŕĺŷĩńĝ ţŕàńśćōďĩńĝ ƥŕōćēśś ũśēď ţō ćŕēàţē ţĥē ćĥàńńēĺ'ś vĩďēō śţŕēàḿ.<0/>Ĺēàŕń ḿōŕē àƀōũţ Ţũńàŕŕ'ś śţŕēàḿ ḿōďēś <1>ĥēŕē!\"],\"zvjEp6\":[\"Ƒĩĺĺēŕ ćōōĺďōŵń ḿũśţ ƀē à ńũḿƀēŕ\"],\"zx4BuL\":[\"Ŵēēķ\"],\"zyLvkd\":[\"Ćàţēĝōŕŷ Ĺōĝ Ĺēvēĺś\"]}")as Messages; \ No newline at end of file + import type { Messages } from '@lingui/core'; +export const messages = JSON.parse( + '{"++nzCr":["ßĩţ Ďēƥţĥ"],"+2JHIs":["Ĺĩńķ ţō ēxĩśţĩńĝ śĺōţ"],"+406Vu":["Vĩēŵ Ƒũĺĺ Ďēţàĩĺś"],"+4YwQF":["# ōƒ Ƥŕōĝŕàḿś"],"+4mjS6":["Ŕēḿōvē ĩćōń"],"+9EErD":["Ḿũśĩć Vĩďēōś"],"+DmLct":["Ƥŕōĝŕàḿś"],"+SA5Ao":["À ŕōōţ ƥàţĥ ţō śćàń ƒōŕ ḿēďĩà. Ĺōćàĺ śōũŕćēś ćàń śēàŕćĥ ḿàńŷ ďĩƒƒēŕēńţ ƥàţĥś."],"+TZiPJ":["Śēŕvēŕ ĩś ũńŕēàćĥàƀĺē"],"+UPOiB":[["count","plural",{"one":["ḿĩń"],"other":["ḿĩńś"]}]],"+Xg5cX":["Ƒĩĺĺēŕ ĩś ƥĩćķēď ƒŕēśĥ àţ śţŕēàḿ ţĩḿē ĺĩķē Ƒĺēx ţĩḿē. Ţĥē ĝũĩďē śĥōŵś \\"Ćōḿḿēŕćĩàĺ ßŕēàķ\\" ƥĺàćēĥōĺďēŕś."],"+YdE7b":["Ēńàƀĺē ŕōĺĺĩńĝ ĺōĝ ƒĩĺēś ũśĩńĝ ţĩḿē àńď/ōŕ śĩźē ƀàśēď ćŕĩţēŕĩà"],"+hl/7A":["Ćĥàńńēĺś ćōńƒĩĝũŕēď ţō ũśē ţĥē ĤĹŚ Ďĩŕēćţ śţŕēàḿ ḿōďē ŵĩĺĺ ōũţƥũţ ĩń ţĥē śēĺēćţēď ćōńţàĩńēŕ ƒōŕḿàţ."],"+k9lxR":["Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ Ĺōćàĺ Ḿēďĩà Śōũŕćē"],"+mdNfU":[["count","plural",{"one":["#"," ţŕàćķ"],"other":["#"," ţŕàćķś"]}]],"+suWTj":["Àďďś Ƒĺēx ƀŕēàķś ƀēţŵēēń ƥŕōĝŕàḿś, àţţēḿƥţĩńĝ ţō àvōĩď ĝŕōũƥś ōƒ ćōńśēćũţĩvē ƥŕōĝŕàḿś ţĥàţ ēxćēēď ţĥē śƥēćĩƒĩēď ńũḿƀēŕ ōƒ ḿĩńũţēś."],"+tlhMz":["Ƥĺēx (Ḿàńũàĺ)"],"+yEE7s":["Ńēŵ Ḿēďĩà Śōũŕćē"],"+yOcRn":["ĤĎĤŔ"],"+ya1pX":["Ďēĺēţē Śĺōţ"],"+zY9Xc":["Ćōńƒĩĝũŕē Ćŷćĺĩć Śĥũƒƒĺē"],"+zy2Nq":["Ţŷƥē"],"/+ZaFm":["Śōũńďţŕàćķ"],"/4gGIX":["Ćōƥŷ ţō ćĺĩƥƀōàŕď"],"/6iIT9":["Śēţţĩńĝś Śàvēď!"],"/DTWjr":["Ćōńĝŕàţś, ŷōũ\'ŕē ŕēàďŷ ţō śţàŕţ ƀũĩĺďĩńĝ ćĥàńńēĺś! ĵũśţ ćĺĩćķ Ƒĩńĩśĥ ƀēĺōŵ ţō śţàŕţ ŵōŕķĩńĝ ōń ŷōũŕ ƒĩŕśţ ćĥàńńēĺ."],"/QmYEW":["ßàĺàńćē..."],"/TEOcd":["Ƥŕēśēţś"],"/e88IO":["Śćĥēďũĺē ƥŕōĝŕàḿḿĩńĝ ĩń ƀĺōćķś ţĥàţ àŕē ēĩţĥēŕ ćōũńţ ōŕ ďũŕàţĩōń ƀàśēď. Ćàń ƀē ũśēď ţō ĝēńēŕàţē ŕàńďōḿ śćĥēďũĺēś."],"/gavzH":["ßàśĩć ƀũţţōń ĝŕōũƥ"],"/j3jjC":["Ēŕŕōŕ ŵĥĩĺē śàvĩńĝ śēţţĩńĝś. Ƥĺēàśē ćĥēćķ ćōńśōĺē ƒōŕ ďēţàĩĺś."],"/n/HCO":["Ķēŷŵōŕďś"],"/rTz0M":["Àũďĩō"],"/vJase":["Śţŕēàḿĩńĝ"],"09gg05":["Ƥŕōĝŕàḿḿĩńĝ"],"0IAEaX":["Ḿàţćĥ"],"0MWZh1":["Śēàŕćĥ ĩś ćũŕŕēńţĺŷ śćōƥēď ţō ţĥĩś Ḿēďĩà Śōũŕćē Ĺĩƀŕàŕŷ."],"0VHz2s":["Ƒĩĺĺēŕ Ōƥţĩōńś"],"0cULRy":["Ēxƥēŕĩḿēńţàĺ: Ḿàķē ƥēŕƒēćţ śćĥēďũĺē ĺōōƥ"],"0dy9K6":["Ŕēàď Ĺēśś"],"0mEBXY":["Ďēĺēţē Ţŕàńśćōďĩńĝ Ćōńƒĩĝ \\"",["0"],"\\"?"],"0wJVK+":["ßàśĩć"],"0zpgxV":["Ōƥţĩōńś"],"1/dAym":["Ĝŕōũƥĩńĝ ŵōŕķś àś ƒōĺĺōŵś:"],"14PdY0":["Ćōńƒĩĝ"],"1AdBl9":["ßŕēàķ Ƥōśĩţĩōńĩńĝ"],"1BDPP1":["Ĺōōķś ĺĩķē śōḿēţĥĩńĝ ŵēńţ ŵŕōńĝ."],"1BGQfg":["Àĺƥĥàƀēţĩćàĺĺŷ"],"1CFAQ+":["Śēţ ƀŷ ēńvĩŕōńḿēńţ vàŕĩàƀĺē"],"1DxLRi":["Ńō ƥŕōĝŕàḿḿĩńĝ śćĥēďũĺēď ƒōŕ ţĥĩś ţĩḿē ƥēŕĩōď"],"1PQRWr":["Śţàŕţ Ţĩḿē"],"1QfxQT":["Ďĩśḿĩśś"],"1TYXl0":["Ēńţēŕ ŷōũŕ Ēḿƀŷ ƥàśśŵōŕď ţō ĝēńēŕàţē à ńēŵ àććēśś ţōķēń."],"1V3Prt":["Ďēĺēţĩńĝ à Ƒĩĺĺēŕ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ţĥē ćĥàńńēĺ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē."],"1Z90J4":["Ďàŷś ţō Ƥŕēćàĺćũĺàţē"],"1hKEom":["Ƥŕĩōŕĩţŷ"],"1jqDmP":["Śũććēśśƒũĺĺŷ śćĥēďũĺēď ",["taskId"]," (ŕũńńĩńĝ ĩń ƀàćķĝŕōũńď)."],"1njn7W":["Ĺĩĝĥţ"],"2BBAbc":["Ĺĩśţ"],"2BRPyl":["Śŷśţēḿ Ĩńƒō"],"2CVuYr":["Śḿàŕţ Ćōĺĺēćţĩōń - ",["0"]],"2L7cj6":["Ŷōũ ĥàvēń\'ţ ćŕēàţēď àńŷ ćĥàńńēĺś ŷēţ."],"2QLniG":["Ēxĩśţĩńĝ ǫũēŕŷ: ",["filterString"]],"2eFlmt":["Ţŕàćķś"],"2hOCU2":["Śḿàŕţ Ćōĺĺēćţĩōńś"],"2imNg3":["Ŵēƀ vēŕśĩōń = ",["0"],", Śēŕvēŕ vēŕśĩōń = ",["1"]],"2mAJXf":["Ḿàķēś ḿũĺţĩƥĺē ćōƥĩēś ōƒ ţĥē śćĥēďũĺē àńď ƥĺàŷś ţĥēḿ ĩń śēǫũēńćē. Ńōŕḿàĺĺŷ ţĥĩś ĩśń\'ţ ńēćēśśàŕŷ, ƀēćàũśē Ţũńàŕŕ ŵĩĺĺ àĺŵàŷś ƥĺàŷ ţĥē śćĥēďũĺē ƀàćķ ƒŕōḿ ţĥē ƀēĝĩńńĩńĝ ŵĥēń ĩţ ƒĩńĩśĥēś. ßũţ ćŕēàţĩńĝ ŕēƥĺĩćàś ĩś à ũśēƒũĺ ĩńţēŕḿēďĩàŕŷ śţēƥ śōḿēţĩḿēś ƀēƒōŕē àƥƥĺŷĩńĝ ōţĥēŕ ţŕàńśƒōŕḿàţĩōńś. Ńōţē ţĥàţ ƀēćàũśē vēŕŷ ĺàŕĝē ćĥàńńēĺś ćàń ƀē ƥŕōƀĺēḿàţĩć, ţĥē ńũḿƀēŕ ōƒ ŕēƥĺĩćàś ŵĩĺĺ ƀē ĺĩḿĩţēď ţō àvōĩď ćŕēàţĩńĝ ŕēàĺĺŷ ĺàŕĝē ćĥàńńēĺś."],"2oWehJ":["Ŕēśēţ ţō ćũŕŕēńţ ďàţē/ţĩḿē"],"2vxecF":["Śĥōŵ Śţēàĺţĥ"],"2x4THe":["\\"",["0"],"\\" Śēśśĩōńś"],"312fSE":["Śēĺēćţ Śĥōŵś ţō Ŕēḿōvē"],"315BhT":["Àĺƥĥàƀēţĩćàĺ"],"3JIYke":["Ĥēàĺţĥŷ?"],"3JQkm5":["Ƥàţĥ Ŕēƥĺàćēḿēńţś"],"3JjdaA":["Ŕũń"],"3LfNqe":["Ćĥàńńēĺ Ńũḿƀēŕ"],"3SH6Vv":["Ćōƥĩēď ćĥàńńēĺ \\"",["channelName"],"\\" ḿ3ũ ĺĩńķ ţō ćĺĩƥƀōàŕď"],"3YNjnA":["Śŷśţēḿ Ēńvĩŕōńḿēńţ"],"3b1vGb":["Ńēŵ Ĺōćàĺ Ḿēďĩà Śōũŕćē"],"3mAQJI":["Ĥōŵ ōƒţēń ţĥē XḾĹŢV ƒĩĺē ĩś ŕēĝēńēŕàţēď"],"3nLdaX":["Àďď ",["0"]],"3nwcC5":["Ƒĩĺĺēŕ - ",["0"]],"49dCCB":["Ũśē Śĥōŵ Ƥōśţēŕ"],"4Fpcxu":["Ĩńĩţĩàĺ Ďēĺàŷ (ḿĩńũţēś)"],"4NbDEd":["Ďēĺēţĩńĝ à Ćũśţōḿ Śĥōŵ ŵĩĺĺ ŕēḿōvē ĩţś ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ćĥàńńēĺś ţĥàţ ũśē ĩţ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē."],"4Uc/2h":["Śēŕvēŕ Ĺĩśţēń Ƥōŕţ"],"4VxpoP":["Ḿũśĩć ţŕàćķś àŕē ĝŕōũƥēď ƀŷ àŕţĩśţ"],"4XSc4l":["Ŵēēķĺŷ"],"4XfYeY":["Ŕàńďōḿ (ƀŷ śĥōŵ)"],"4fLgiT":["Àĺĺōŵ Ĩḿàĝē ßàśēď"],"4qmJK4":["Ţũńàŕŕ ßàćķēńď ŨŔĹ"],"4wkwyL":["Ďĩśàƀĺē Ĥàŕďŵàŕē Ƒĩĺţēŕś"],"4yQF++":["Ćũśţōḿ śĥōŵ ƥŕōĝŕàḿś àŕē ĝŕōũƥēď ƀŷ ţĥēĩŕ ƥàŕēńţ śĥōŵ"],"50whWJ":["XḾĹŢV Ĺĩńķ:"],"53/4tH":["Àũďĩō Ōƥţĩōńś"],"536Xwe":["Ēŕŕōŕ ćōƥŷĩńĝ ţō ćĺĩƥƀōàŕď!"],"53tfay":["Ţĥĩś àĺĺōŵś ţō śćĥēďũĺē śƥēćĩƒĩć śĥōŵś ţō ŕũń àţ śƥēćĩƒĩć ţĩḿē śĺōţś ōƒ ţĥē ďàŷ ōŕ à ŵēēķ. Ĩţ\'ś ŕēćōḿḿēńďēď ŷōũ ƒĩŕśţ ƥōƥũĺàţē ţĥē ćĥàńńēĺ ŵĩţĥ ţĥē ēƥĩśōďēś ƒŕōḿ ţĥē śĥōŵś ŷōũ ŵàńţ ţō ƥĺàŷ àńď/ōŕ ōţĥēŕ ćōńţēńţ ĺĩķē ḿōvĩēś àńď ŕēďĩŕēćţś."],"5ABghp":["ƑƑḿƥēĝ Śēţţĩńĝś"],"5V93hk":["Śćĥēďũĺē ƥŕōĝŕàḿḿĩńĝ ũśĩńĝ śĺōţś àśśĩĝńēď à śţàŕţ ţĩḿē àńď ďũŕàţĩōń."],"5WeWGz":["Śēĺēćţēď Śũƀţĩţĺē"],"5jWg+L":["Ţũńàŕŕ ŵĩĺĺ àţţēḿƥţ ţō ĝēţ Ƥĺēx ţō ƥũĺĺ Ţũńàŕŕ\'ś ũƥďàţēď XḾĹŢV ũƥōń ŕēĝēńēŕàţĩōń"],"5k0NLb":["Ŕēvĩēŵ"],"5lSgNP":["Ēńàƀĺē ŚŚĎƤ śēŕvēŕ"],"5nsbxB":["Àĺţēŕńàţēś ŢV śĥōŵś ĩń ƀĺōćķś ōƒ ēƥĩśōďēś. Ŷōũ ćàń ƥĩćķ ţĥē ńũḿƀēŕ ōƒ ēƥĩśōďēś ƥēŕ śĥōŵ ĩń ēàćĥ ƀĺōćķ àńď ĩƒ ţĥē ōŕďēŕ ōƒ śĥōŵś ĩń ēàćĥ ƀĺōćķ śĥōũĺď ƀē ŕàńďōḿĩźēď. Ḿōvĩēś àŕē ḿōvēď ţō ţĥē ƀōţţōḿ."],"5qV3NN":["Ƒĺēx Śţŷĺē"],"5yIPLp":["Ōōƥś!"],"6/dCYd":["Ōvēŕvĩēŵ"],"63/DSM":["Ţŕàńśćōďĩńĝ Ćōńƒĩĝś"],"63driG":["Śţŕēàḿ ĵŚŌŃ"],"67RoFa":["Ƥĩƥēĺĩńē"],"6Y9c2m":["Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ ",["0"]," ōţĥēŕ śĺōţ(ś). Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ."],"6YtxFj":["Ńàḿē"],"6ZMWKw":["XḾĹŢV"],"6bbWRs":["Àďď ƥŕōĝŕàḿḿĩńĝ ţō ćũśţōḿ śĥōŵ"],"6dvIbw":["Ũńĺĩńķ"],"6jAi8c":["Ŕàńĝē"],"6jfS51":["Ŵēĺćōḿē"],"6ki7F2":[["0","plural",{"one":["#"," ĩţēḿ"],"other":["#"," ĩţēḿś"]}]],"6mJ9tF":["ƑƑḾƤĒĜ ĩś ńōţ ďēţēćţēď."],"6mpwdR":["Ḿàţćĥ àĺĺ ōƒ"],"6pL6be":["Ćōńƒĩĝũŕē ŵĥàţ àƥƥēàŕś ōń ŷōũŕ ćĥàńńēĺ ŵĥēń ţĥēŕē ĩś ńō śũĩţàƀĺē ƒĩĺĺēŕ ćōńţēńţ àvàĩĺàƀĺē. Ũśĩńĝ ćĥàńńēĺ ƒàĺĺƀàćķś ŕēǫũĩŕēś ƒƒḿƥēĝ ţŕàńśćōďĩńĝ."],"6w0yiE":["ƑƑḾƤĒĜ Ĺōĝ Ĺēvēĺ"],"6zfUar":["Śţŕēàḿ Śēĺēćţĩōń"],"71O7b0":["Ḿēďĩà Ĩńƒō"],"73XwX0":["Ńō ƥŕōĝŕàḿś śēĺēćţēď"],"73flfT":["ǪŚV Ďēvĩćē"],"7B3lfh":["Ĩţēḿś ƒŕōḿ àńŷ ƒĩĺĺēŕ ĺĩśţ ŵĩĺĺ ńōţ ƀē ćĥōśēń ḿōŕē ƒŕēǫũēńţĺŷ ţĥàń ţĥĩś ćōōĺďōŵń śēţţĩńĝ."],"7LWPgS":["Ēńàƀĺēď (ĺōũďńōŕḿ)"],"7ODkf5":["Ĺōĝ ĺēvēĺ ţō ƥàśś ţō ƒƒḿƥēĝ. Ŕēàď ḿōŕē àƀōũţ ƒƒḿƥēĝ\'ś ĺōĝ ĺēvēĺś <0>ĥēŕē"],"7Q5AKf":[["count","plural",{"one":["ţŕàćķ"],"other":["ţŕàćķś"]}]],"7b2stB":["Ḿēďĩà Ţŷƥē"],"7eMo+U":["Ĝō Ĥōḿē"],"7eZlTH":["Śōŕţ ŢV Śĥōŵś (àść)"],"7iJlKU":["Ƥĺēàśē ćĥōōśē à vàĺũē ĝŕēàţēŕ ţĥàń 1"],"7pMNGK":["Ƥŕōĝŕàḿś śàvēď!"],"7sNhEz":["Ũśēŕńàḿē"],"7tvV2B":["Ḿĩń Ďũŕàţĩōń (ḿĩńũţēś)"],"7uohY3":["ŢV śĥōŵś àŕē ĝŕōũƥēď ƀŷ śĥōŵ"],"80t7Ii":["Ĩńćŕēàśĩńĝ \\"Ḿàx Ĺàţēńēśś\\" ƒōŕ ţĥē śćĥēďũĺē."],"87a/t/":["Ĺàƀēĺ"],"8E9KXK":["Ƒēàţũŕē ƒĺàĝś śàvēď!"],"8MIU1T":["Ƥŕōĝŕàḿ"],"8TMaZI":["Ţĩḿēśţàḿƥ"],"8ZsakT":["Ƥàśśŵōŕď"],"8vETh9":["Śĥōŵ"],"8wngZM":["Ƒàĺĺƀàćķ"],"8wu9lr":["Ǫũēũēď"],"9+90+V":["Ēńàƀĺē Ĺōĝ Ƒĩĺē Ŕōĺĺĩńĝ"],"94qSvE":["Śŷńćēď ŵĩţĥ ēxţēŕńàĺ ƥĺàŷĺĩśţ"],"96zw7M":["Ţĥĩś śĥōŵ ĩś ḿàŕķēď àś ḿĩśśĩńĝ ĩń ţĥē ďàţàƀàśē."],"983IRa":["Àĺĺ ĺĩńķēď śĺōţś śĥōŵ ţĥē śàḿē ēƥĩśōďē, àďvàńćĩńĝ ōńĺŷ àƒţēŕ àĺĺ ĥàvē ƥĺàŷēď."],"9E+eyD":["Ōũţƥũţ vĩďēō àţ à ćōńśţàńţ ƒŕàḿē ŕàţē."],"9E9tRC":["Ƒĩĺĺ ŵĩţĥ Ƒĺēx"],"9Eq43e":["Ĩƒ śēţ, àĺĺ ŵàţēŕḿàŕķ ōvēŕĺàŷś ŵĩĺĺ ƀē ďĩśàƀĺēď ƒōŕ ćĥàńńēĺś àśśĩĝńēď ţĥĩś ţŕàńśćōďē ćōńƒĩĝ."],"9GPYnX":["Ďō ńōţ ĝŕōũƥ ƥŕōĝŕàḿś àţ àĺĺ. Ńōŕḿàĺ śĥũƒƒĺē."],"9WG5wy":["Śƥēćĩàĺś"],"9asVsi":["Ĥōŵ ĺōńĝ ēàćĥ ćōḿḿēŕćĩàĺ ƀŕēàķ ĺàśţś"],"9qdNKR":["Ēŕŕōŕ Ōƥţĩōńś"],"9sqrEU":["Ƒĩĺĺēŕ Ĺĩśţ"],"9td1Wl":["Ćĥēćķ"],"9vtG84":[" Śćĥēďũĺĩńĝ Śţŕàţēĝŷ"],"A+GCyx":["Ĥĩďē Àďvàńćēď"],"A0+T6c":["Ŕēśēţ Ćĥàńĝēś"],"A1taO8":["Śēàŕćĥ"],"A7WmPm":["Ńēŵ Ƥĺēx Śēŕvēŕ"],"A9Rhec":["Ćĥàńńēĺ Ńàḿē"],"ACKu03":["Ŕēƒŕēśĥ Ƥŕēvĩēŵ"],"AKjNTL":["Àďď Ƥàďďĩńĝ"],"AM972O":["Àďď Ŕēďĩŕēćţ"],"ANICN0":["Ńō ḿēďĩà śōũŕćēś ćōńńēćţēď."],"AO2Z5d":["Ḿōvĩē, ",["0"]],"AOHgZp":["Ēƥĩśōďēś"],"AVKoQM":["Ŕēďĩŕēćţ ţō \\"",["0"],"\\""],"AXg7m0":["Śēàŕćĥ ĩś ćũŕŕēńţĺŷ śćōƥēď ţō ţĥĩś Ḿēďĩà Śōũŕćē."],"AXjA78":["Ƒĩēĺď"],"AdfhAd":["Ĩƒ ţĥēŕē àŕē ĩśśũēś ƥĺàŷĩńĝ à vĩďēō, Ţũńàŕŕ ŵĩĺĺ ţŕŷ ţō ũśē àń ēŕŕōŕ śćŕēēń àś à ƥĺàćēĥōĺďēŕ ŵĥĩĺē ŕēţŕŷĩńĝ ĺōàďĩńĝ ţĥē vĩďēō ēvēŕŷ 60 śēćōńďś."],"AdogaJ":["Ƥĩƥēĺĩńē Śţēƥś"],"AlfqgK":["Ŵàţćĥ"],"ApsQAb":["ĤĎĤŔ: Ĺōàďĩńĝ..."],"AyInY5":["Vĩďēō Ōƥţĩōńś"],"AzCYkg":["Ćōńńēćţ Ḿēďĩà Śōũŕćēś"],"B+HsXP":["ƑƑḾƤĒĜ: ",["0"]],"B1NOvD":["Ŕēḿōvēś àĺĺ ƥŕōĝŕàḿś ƒŕōḿ śćĥēďũĺē"],"B1W8vw":["Ďēĺēţē \\"",["0"],"\\""],"BGHH1t":["Ḿĩń. Vĩśĩƀĺē ĩń Ĝũĩďē Ďũŕàţĩōń Ƥŕōĝŕàḿ (śēćōńďś)"],"BJjJuo":["ĒƤĜ (Ĥōũŕś)"],"BMlGCC":["Ćĺĩćķ ţō ƥŕēvĩēŵ ţĥē ĩţēḿś ĩń ţĥĩś Ćũśţōḿ Śĥōŵ. Ńōţē ţĥàţ ōńĺŷ ţĥē ŵĥōĺē śĥōŵ ćàń ƀē àďďēď àţ ōńćē."],"BQsifH":["Śţŕēàḿ Ĩńƒō"],"BWTzAb":["Ḿàńũàĺ"],"BXXjCD":["ƑƑḿƥēĝ ńōţ ƒōũńď. Ƒōŕ àĺĺ ƒēàţũŕēś ţō ŵōŕķ, ŵē ŕēćōḿḿēńď ĩńśţàĺĺĩńĝ ƑƑḿƥēĝ 7.1+ ōŕ ũƥďàţē ŷōũŕ ƑƑḿƥēĝ ēxēćũţàƀĺē ƥàţĥ ĩń śēţţĩńĝś."],"BaUuhR":["Ćōďēć"],"BlmmxH":["ƑƑḿƥēĝ Ĺōĝ"],"Bq0ryo":["Ŕēśēţ Ōƥţĩōńś"],"BtL93c":[["0","plural",{"one":["#"," śōũŕćē ćōńńēćţēď."],"other":["#"," śōũŕćēś ćōńńēćţēď."]}]],"C4KL42":["Ćōńśōĺĩďàţēś ćōńţĩĝũōũś ḿàţćĥ ƒĺēx àńď ŕēďĩŕēćţ ƀĺōćķś ĩńţō śĩńĝũĺàŕ śƥàńś"],"C6jEO3":["Ĺōĝ Ĺēvēĺ"],"CAiikc":["Ēńţēŕ ŷōũŕ ĵēĺĺŷƒĩń ƥàśśŵōŕď ţō ĝēńēŕàţē à ńēŵ àććēśś ţōķēń.<0/><1>ŃŌŢĒ: Ţĥēśē àŕē ńēvēŕ śàvēď ţō ţĥē Ţũńàŕŕ Ďß. Ĩńśţēàď ţĥēŷ àŕē śēńţ ţō ĵēĺĺŷƒĩń ţō ēxćĥàńĝē ƒōŕ à śēśśĩōń ţōķēń."],"CJkEfx":["ßĺōćķ"],"CKQ3t3":["Ţōţàĺ Ŕũńţĩḿē"],"CMQ09J":["Śćàńńĩńĝ"],"COv7As":["Ćōōĺďōŵń (śēćōńďś)"],"CRsuq4":["Ēvēŕŷ"],"CVqySE":[["len","plural",{"one":["Ţĥēŕē ĩś ","#"," ŵàŕńĩńĝ. Ćĺĩćķ ƒōŕ ďēţàĩĺś."],"other":["Ţĥēŕē àŕē ","#"," ŵàŕńĩńĝś. Ćĺĩćķ ƒōŕ ďēţàĩĺś."]}]],"CWRFGq":["Ḿōďĩƒŷ Ƥŕōĝŕàḿḿĩńĝ"],"CXDHcv":["Ĝŕĩď"],"CcX8VV":["Ćōḿƥĺēţēĺŷ ŕàńďōḿĩźēś ţĥē ōŕďēŕ ōƒ ƥŕōĝŕàḿś."],"CeyB7O":["ƑƑḿƥēĝ Ēxēćũţàƀĺē Ƥàţĥ"],"CfOWar":["Ĺōĝàŕĩţĥḿĩć ďēćàŷ, ĺĩĝĥţēŕ ŵēĩĝĥţĩńĝ."],"CfUvtM":["Ēŕŕōŕ śàvĩńĝ ńēŵ Śḿàŕţ Ćōĺĺēćţĩōń. Ćĥēćķ śēŕvēŕ ĺōĝś àńď ƀŕōŵśēŕ ćōńśōĺē ƒōŕ ďēţàĩĺś."],"CfxLtO":["Ƥŕōĝŕàḿ ĵŚŌŃ"],"Cko536":["Ďēśćēńďĩńĝ"],"Cp5Awv":["Ďũŕàţĩōń ḿũśţ ƀē ĝŕēàţēŕ ţĥàń 0."],"CqSP2T":["Ēďĩţ Ćĥàńńēĺ Ŕēďĩŕēćţ"],"CsrDsg":["12-ĥōũŕ"],"Cxqf0C":["Ƥĺēx (Àũţō)"],"D+NlUC":["Śŷśţēḿ"],"D1Fhv3":[["count","plural",{"one":["ēƥĩśōďē"],"other":["ēƥĩśōďēś"]}]],"DPfwMq":["Ďōńē"],"DRya1t":["Àũďĩō Vōĺũḿē"],"DSwJ9W":["Ēńàƀĺē Àńĩḿàţĩōń"],"DUd3Ss":["Śōŕţś ţĥē ĺĩśţ ƀŷ ŢV Śĥōŵ àńď ţĥē ēƥĩśōďēś ĩń ēàćĥ ŢV śĥōŵ ƀŷ ţĥēĩŕ śēàśōń/ēƥĩśōďē ńũḿƀēŕ. Ḿōvĩēś àŕē ḿōvēď ţō ţĥē ƀōţţōḿ ōƒ ţĥē śćĥēďũĺē."],"DbouLP":["ßàćķ ţō Ƥŕōĝŕàḿḿĩńĝ"],"Dd9orS":["Ŕēḿōvē Àĺĺ ",["movieCount"]," ",["movieCount","plural",{"one":["Ḿōvĩē"],"other":["Ḿōvĩēś"]}]],"Dnn2XG":["Àũţōḿàţĩć"],"DoJzLz":["Ćōĺĺēćţĩōńś"],"DxvGLB":["Àďď Śĺōţ"],"E/QGRL":["Ďĩśàƀĺēď"],"E5ipHC":["ßàĺàńćē ßŷ:"],"E8oclZ":["Ćōƥĩēď Ćĥàńńēĺ ĨĎ!"],"EKlukx":["Ćōƥŷ Ƒũĺĺ Ŕēƥōŕţ"],"EL4/HD":[["0","plural",{"one":["ƥŕōĝŕàḿ"],"other":["ƥŕōĝŕàḿś"]}]],"EdQY6l":["Ńōńē"],"EkH9pt":["Ũƥďàţē"],"Etie0Q":["Àĺĺ ćĥàńńēĺś àśśĩĝńēď ţō ţĥĩś ćōńƒĩĝ ŵĩĺĺ ƀē śēţ ţō ũśē ţĥē ďēƒàũĺţ ćōńƒĩĝũŕàţĩōń. Ĩƒ ţĥĩś ĩś ţĥē ĺàśţ ćōńƒĩĝũŕàţĩōń, à ńēŵ ďēƒàũĺţ ćōńƒĩĝũŕàţĩōń ŵĩĺĺ ƀē ćŕēàţēď."],"Eu20Os":["Ţĩḿē Śĺōţś"],"Ev2r9A":["Ńō ŕēśũĺţś"],"F1l877":["Śũƀţĩţĺē Śţŕēàḿś"],"F3bW6y":["Ƥĺàţƒōŕḿ"],"F3smBd":["Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ďàŷś ţō ƥŕēćàĺćũĺàţē ţĥē śćĥēďũĺē. Ńōţē ţĥàţ ţĥē ĺēńĝţĥ ōƒ ţĥē śćĥēďũĺē ĩś àĺśō ƀōũńďēď ƀŷ ţĥē ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś àĺĺōŵēď ĩń à ćĥàńńēĺ.<0/><1>Ńōţē: Ƥŕēvĩēŵĩńĝ ţĥē śćĥēďũĺē ĩń ţĥē ƀŕōŵśēŕ ƒōŕ ĺōńĝ ĺēńĝţĥś ōƒ ţĩḿē ćàń ćàũśē ŨĨ ƥēŕƒōŕḿàńćē ĩśśũēś"],"FDEfoy":["Ďēĺēţĩńĝ à ḿēďĩà śōũŕćē ŵĩĺĺ ŕēḿōvē àĺĺ ōƒ ĩţś àśśōćĩàţēď ƥŕōĝŕàḿś ƒŕōḿ Ţũńàŕŕ."],"FXCwT9":["ƑƑƥŕōƀē Ēxēćũţàƀĺē Ƥàţĥ"],"FZg3wM":["Ōƥēŕàţĩōń"],"FmN5me":["Ŕēśōĺũţĩōń"],"FnChN1":["Ēńàƀĺē <0>ĒßŨ Ŕ 128 ĺōũďńēśś ńōŕḿàĺĩźàţĩōń vĩà ţĥē <1>ĺōũďńōŕḿ ƑƑḿƥēĝ ƒĩĺţēŕ. Ḿàŷ ĩńćŕēàśē ĆƤŨ ũśàĝē ďũŕĩńĝ śţŕēàḿĩńĝ."],"Fp7p73":["Ţĩḿē ƀēţŵēēń śũƀśēǫũēńţ ƀŕēàķś"],"FqCHF/":["Ţĥŕēàďś"],"FrRP21":["Ţĥēŕē ŵàś àń ēŕŕōŕ ŵĥēń śũƀḿĩţţĩńĝ ţĥē ƒōŕḿ. Ƥĺēàśē śēē ćōńśōĺē ĺōĝś ƒōŕ ďēţàĩĺś."],"FsF4bb":["Àũďĩō Ĺōũďńēśś Ńōŕḿàĺĩźàţĩōń"],"FssFce":["Ćōńƒĩĝũŕē ƥŕēƒēŕŕēď àũďĩō ĺàńĝũàĝēś ĝĺōƀàĺĺŷ."],"Fzn/BQ":["Ŕēĺēàśē Ďàţē"],"G+8qH5":["Ćĥàńńēĺ ńàḿē ĩś ŕēǫũĩŕēď"],"GDKKxT":["Àććēśś Ţōķēń"],"GHOK4Z":["Ţĩḿē Ƒōŕḿàţ"],"GJ1P5j":["Ƒĩĺē à ßũĝ Ŕēƥōŕţ"],"GKLqtE":["Śēţ ţĥē ĥōśţ ōƒ ŷōũŕ Ţũńàŕŕ ƀàćķēńď. Ŵĥēń ēḿƥţŷ, ţĥē ŵēƀ ŨĨ ŵĩĺĺ ũśē ţĥē ćũŕŕēńţ ĥōśţ/ƥōŕţ ţō ćōḿḿũńĩćàţē ŵĩţĥ ţĥē ƀàćķēńď."],"GLOZdc":["Ćũśţōḿ Śĥōŵś"],"GP/CFo":["ĤŴ Àććēĺ"],"GQ3O42":["Ţŕàśĥ"],"GRCrpV":["Ḿàńàĝē Ĺĩƀŕàŕĩēś"],"GUtCZC":["Vēŕśĩōń: ",["0"]],"GhZ4GX":["Ēŕŕōŕ ŵĥĩĺē ćōƥŷĩńĝ ţō ćĺĩƥƀōàŕď. Ćĥēćķ ƀŕōŵśēŕ ĺōĝś ƒōŕ ďēţàĩĺś"],"GmP0oY":["Śĺōţ Ŵàŕńĩńĝś"],"GmTnBN":["Ēńàƀĺē ƒƒḿƥēĝ ĺōĝĝĩńĝ ţō ďĩƒƒēŕēńţ śĩńķś. Ōũţƥũţţĩńĝ ţō à ƒĩĺē ŵĩĺĺ ćŕēàţē à ńēŵ ĺōĝ ƒĩĺē ƒōŕ ēvēŕŷ śƥàŵńēď ƒƒḿƥēĝ ƥŕōćēśś ĩń ţĥē Ţũńàŕŕ ĺōĝ ďĩŕēćţōŕŷ. Ţĥēśē ƒĩĺēś àŕē àũţōḿàţĩćàĺĺŷ ćĺēàńēď ũƥ ƀŷ à ƀàćķĝŕōũńď ƥŕōćēśś."],"Gr1Ik2":["Ńvĩďĩà Ćàƥàƀĩĺĩţĩēś"],"GtycJ/":["Ţàśķś"],"GzzMwi":["Ŕōĺĺ ōń Śćĥēďũĺē"],"H0QGc9":["Ƒĩĺĺēŕ Ĺĩśţ Ćōōĺďōŵń (śēćōńďś)"],"H1OFlu":["Ĩńvēŕśē ĺĩńēàŕ ďēćàŷ, ĥēàvĩēŕ ŵēĩĝĥţĩńĝ."],"H1V+2G":["Ţō ũśē Ţũńàŕŕ, ŷōũ ḿũśţ ƒĩŕśţ ćōńńēćţ àţ ĺēàśţ ōńē ḿēďĩà śōũŕćē. Ḿēďĩà śōũŕćēś ƥŕōvĩďē àĺĺ ćōńţēńţ ũśēď ţō ćŕēàţē ćĥàńńēĺś ĩń Ţũńàŕŕ. Ƥĺēx àńď ĵēĺĺŷƒĩń àŕē ćũŕŕēńţĺŷ śũƥƥōŕţēď."],"H3OF1s":["Ţũńēŕ Ćōũńţ"],"H7OUPr":["Ďàŷ"],"H8100o":["Ƒĩĺĺēŕ ĺĩśţś àŕē ćōĺĺēćţĩōńś ōƒ vĩďēōś ţĥàţ ŷōũ ḿàŷ ŵàńţ ţō ƥĺàŷ ďũŕĩńĝ \'ƒĺēx\' ţĩḿē śēĝḿēńţś. Ƒĺēx ĩś ţĩḿē ŵĩţĥĩń à ćĥàńńēĺ ţĥàţ ďōēś ńōţ ĥàvē à ƥŕōĝŕàḿ śćĥēďũĺēď (ũśũàĺĺŷ ũśēď ƒōŕ ƥàďďĩńĝ)."],"HDoQBx":["Ćĥàńńēĺ śēţţĩńĝś śàvēď!"],"HEH0PR":["Ḿũśţ ďēƒĩńē àţ ĺēàśţ ōńē ĺàńĝũàĝē ƥŕēƒēŕēńćē"],"HErtdg":["Ńàḿē ćàń ōńĺŷ ćōńţàĩń àĺƥĥàńũḿēŕĩć ćĥàŕàćţēŕś, ďàśĥēś, àńď ũńďēŕśćōŕēś"],"HLlLPP":["Ćĥàńńēĺ Śţŕēàḿ Ḿōďē"],"HMWEIt":["Ēďĩţ Ƒĺēx Ţĩḿē"],"HOLbdk":["Ƒàĩĺēď ţō ĺōàď śţŕēàḿ ďēţàĩĺś! Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś"],"HSfauP":["Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ ",["0"]," ōţĥēŕ ",["1","plural",{"one":["śĺōţ"],"other":["śĺōţś"]}],". Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ."],"HVpg3x":["Ƒàĩĺēď ţō ĺōàď Śḿàŕţ Ćōĺĺēćţĩōń"],"HXx+vU":["Ćōńţŕōĺś ŵĥàţ ĥàƥƥēńś ŵĥēń ţĥĩś śĺōţ ŕũńś ōũţ ōƒ ŕēƥĺàŷēď ćōńţēńţ ƒŕōḿ ēàŕĺĩēŕ ćōńţĩńũē śĺōţś."],"HYCPKT":["Àďď Śēĺēćţēď Ḿēďĩà"],"HajiZl":["Ḿōńţĥ"],"HdE1If":["Ćĥàńńēĺ"],"Hjfx9G":["Àũďĩō & Śũƀţĩţĺēś"],"HmHwcC":["Ƒĩxēď Ĩńţēŕvàĺ"],"HptUxX":["Ńũḿƀēŕ"],"HqUilK":["Ķēŷŵōŕďś ƥēŕƒōŕḿ ƒũĺĺ ţēxţ śēàŕćĥ àćŕōśś àĺĺ (ōŕ ćōńƒĩĝũŕēď) ƒĩēĺďś"],"HzV8B2":["Śķĩƥ ḿĩď-ŕōĺĺ ƒōŕ ƥŕōĝŕàḿś śĥōŕţēŕ ţĥàń ţĥĩś"],"I+FvbD":["Śćàń"],"I2Bar3":["Śĥōŵś"],"I5BU70":["Śḿàŕţ Ćōĺĺēćţĩōń: ",["0"]],"I6gXOa":["Ƥàţĥ"],"IDlmXg":["Ţũńàŕŕ ßàćķēńď ŨŔĹ:"],"IE9OdF":["Ũƥďàţē Ƥĺàŷ Śţàţũś"],"IFiQdD":["Ćĥàńńēĺś Ḿ3Ũ Ĺĩńķ:"],"IMxI++":["Ńōţ à vàĺĩď ŨŔĹ"],"INCbO6":["Ōń-Ďēḿàńď ćĥàńńēĺś ŕēśũḿē ƒŕōḿ ŵĥēŕē ŷōũ ĺēƒţ ōƒƒ. Ƥŕōĝŕàḿḿĩńĝ ĩś ƥàũśēď ŵĥēń ţĥē ćĥàńńēĺ ĩś ńōţ śţŕēàḿĩńĝ.<0/><1>ŃŌŢĒ: Ŵĥĩĺē ţĥē ćĥàńńēĺ ĩś ĩńàćţĩvē, ţĥē ŢV Ĝũĩďē ƒōŕ ţĥē ćĥàńńēĺ ŵĩĺĺ ƀē ēḿƥţŷ."],"IagCbF":["ŨŔĹ"],"IetKlB":["Ńēŵ Ćũśţōḿ Śĥōŵ"],"IgC1fP":["Ēńàƀĺē ĺĩĝĥţ Ḿōďē"],"IiBgkW":["Ƒàĩĺēď ţō ũƥďàţē Ḿēďĩà Śōũŕćē śēţţĩńĝś. Ƥĺēàśē ćĥēćķ śēŕvēŕ àńď ƀŕōŵśēŕ ĺōĝś ƒōŕ ďēţàĩĺś."],"IoSxk9":["Ƥŕōţōćōĺ ḿũśţ ƀē ĤŢŢƤ ōŕ ĤŢŢƤŚ"],"IvkbIT":["Ŕēàď Ḿōŕē"],"J/eF78":["Ŕēḿōvĩńĝ ōvēŕŕũń ƥŕōĝŕàḿś ƒŕōḿ ţĥē ćĥàńńēĺ."],"J0NKO1":["Ēxćĺũďē Śēàśōńś"],"J2eKUI":["Ƒĩĺē"],"J2lnQW":["Ƥŕē"],"J41wt0":["Śĺōţ Ēďĩţōŕ"],"J4Ngmi":["Ĺōōƥ Śĥōŕţ Ƥŕōĝŕàḿś"],"J50/e4":["Ƒĩĺţēŕ Ţŷƥē"],"J8X80J":["Śţēàĺţĥ?"],"JCGCcQ":["Śōŕţś ēvēŕŷţĥĩńĝ ƀŷ ĩţś ŕēĺēàśē ďàţē. Ţĥĩś ŵĩĺĺ ōńĺŷ ŵōŕķ ćōŕŕēćţĺŷ ĩƒ ţĥē ŕēĺēàśē ďàţēś ĩń Ƥĺēx àŕē ćōŕŕēćţ. Ĩń ćàśē àńŷ ĩţēḿ ďōēś ńōţ ĥàvē à ŕēĺēàśē ďàţē śƥēćĩƒĩēď, ĩţ ŵĩĺĺ ƀē ḿōvēď ţō ţĥē ƀōţţōḿ."],"JCOZTc":["Àũďĩō & Śũƀţĩţĺē Ōƥţĩōńś"],"JOFDLs":["Ƥŕōĝŕàḿ Ƥĺàŷƀàćķ Ţŕōũƀĺēśĥōōţēŕ"],"JeAvlS":["Ƥàď Ţĩḿēś"],"JeL1O4":["Ŕēďĩŕēćţ ďũŕàţĩōń"],"Jj3SJk":["À-Ź (àść)"],"JmZ/+d":["Ƒĩńĩśĥ"],"Jpe9a8":["Àţţēḿƥţś ţō ƀàĺàńćē ƥŕōĝŕàḿḿĩńĝ ĝŕōũƥś ƀŷ ēĩţĥēŕ ţōţàĺ ĺĩńēũƥ ďũŕàţĩōń ōŕ ńũḿƀēŕ ōƒ ũńĩǫũē ƥŕōĝŕàḿś. Ƒōŕ ĩńśţàńćē, ƒōŕ à ćĥàńńēĺ ŵĩţĥ ḿàńŷ śēàśōńś ōƒ ōńē śĥōŵ àńď ƒēŵ śēàśōńś ōƒ àńōţĥēŕ, ƀàĺàńćĩńĝ ŵĩĺĺ àţţēḿƥţ ţō ćŕēàţē àń ēvēń ḿĩx ōƒ ƀōţĥ śĥōŵś ƀŷ ĩńśēŕţĩńĝ ŕēƥēàţś ōƒ ţĥē śĥōŵ ŵĩţĥ ƒēŵēŕ ēƥĩśōďēś."],"JryIGL":["ÀďĴũśţ Ŵēĩĝĥţś"],"Jsel0T":["Ţĥĩś ćĥàńńēĺ ĥàś àń ēxĩśţĩńĝ ţĩḿē śĺōţ śćĥēďũĺē. À ćĥàńńēĺ ćàń ōńĺŷ ũśē ōńē śćĥēďũĺĩńĝ ţŷƥē àţ à ţĩḿē. Śàvĩńĝ à śćĥēďũĺē ĥēŕē ŵĩĺĺ ŕēḿōvē ţĥē ēxĩśţĩńĝ ţĩḿē śĺōţ śćĥēďũĺē."],"Jtbzxr":["Vēŕśĩōń: ũńķńōŵń"],"JxE+Bh":["Àĺĺōŵś ŷōũ ţō ƥĩćķ śƥēćĩƒĩć ƥŕōĝŕàḿḿĩńĝ ţō ŕēḿōvē ƒŕōḿ ţĥē ćĥàńńēĺ."],"JyHA6G":["Ďĩśƥĺàŷś ţĥē ĺàśţ ",["0"]," śŷśţēḿ ĺōĝ ēvēńţś. Ũśē ţĥē ƀũţţōńś ƀēĺōŵ ţō ēxƥōŕţ ţĥēśē ĺōĝś ōŕ ďōŵńĺōàď ţĥē ēńţĩŕē ĺōĝ ƒĩĺē ƒōŕ ďēƀũĝĝĩńĝ."],"JzJk+4":["Àďď Ĺàńĝũàĝē Ƥŕēƒēŕēńćē"],"K09nyY":["Ĺĩńķēď śĺōţś àďvàńćē ēƥĩśōďē ƥŕōĝŕēśśĩōń ţōĝēţĥēŕ śēǫũēńţĩàĺĺŷ."],"K8+dbZ":[["totalConnections"]," ţōţàĺ"],"K8ebg0":["Ţũńàŕŕ ŵĩĺĺ ũƥďàţē ĵēĺĺŷƒĩń\'ś \\"ńōŵ ƥĺàŷĩńĝ\\" śţàţē ŵĥĩĺē ćĥàńńēĺś àŕē àćţĩvē."],"K9pQ8Q":["Ďĩśàƀĺē Ŵàţēŕḿàŕķś"],"KRjDf4":["Àũďĩō Śţŕēàḿś"],"Khe/Vb":["Ŵàţćĥ Ćĥàńńēĺ"],"KkOthv":["Ĝũĩďē"],"Km5fSd":["Ĩƒ ŷōũ àŕē ćōńƒĩďēńţ ƑƑḾƤĒĜ ĩś ĩńśţàĺĺēď, ŷōũ ḿàŷ Ĵũśţ ńēēď ţō ũƥďàţē ţĥē ēxēćũţàƀĺē ƥàţĥ ĩń ţĥē śēţţĩńĝś. Ţō ďō śō, śĩḿƥĺŷ ćĺĩćķ Ēďĩţ àƀōvē ţō ũƥďàţē ţĥē ƥàţĥ."],"L+8pV5":["Śŷńć ŵĩţĥ ēxţēŕńàĺ ƥĺàŷĺĩśţ"],"L/KmPM":["Ũśũàĺĺŷ śĺōţś ńēēď ţō àďď ƒĺēx ţĩḿē ţō ēńśũŕē ţĥàţ ţĥē ńēxţ śĺōţ śţàŕţś àţ ţĥē ćōŕŕēćţ ţĩḿē. Ŵĥēń ţĥēŕē àŕē ḿũĺţĩƥĺē vĩďēōś ĩń ţĥē śĺōţ, ŷōũ ḿĩĝĥţ ƥŕēƒēŕ ţō ďĩśţŕĩƀũţē ţĥē ƒĺēx ţĩḿē ƀēţŵēēń ţĥē vĩďēōś ōŕ ţō ƥĺàćē ḿōśţ ōƒ ţĥē ƒĺēx ţĩḿē àţ ţĥē ēńď ōƒ ţĥē śĺōţ."],"L6Mhe6":["Ŷōũ ĥàvē ũńśàvēď ćĥàńĝēś!"],"L8Hb+D":["Śēţś ţĥē ńũḿƀēŕ ōƒ ţĥŕēàďś ũśēď ţō ďēćōďē ţĥē ĩńƥũţ śţŕēàḿ. Śēţ ţō 0 ţō ĺēţ ƒƒḿƥēĝ àũţōḿàţĩćàĺĺŷ ďēćĩďē ĥōŵ ḿàńŷ ţĥŕēàďś ţō ũśē. Ŕēàď ḿōŕē àƀōũţ ţĥĩś ōƥţĩōń <0>ĥēŕē. <1>Ńōţē: ţĥĩś ōƥţĩōń ĩś ōvēŕŕĩďďēń ţō 1 ŵĥēń ũśĩńĝ ĥàŕďŵàŕē àććēĺēàŕàţĩōń ƒōŕ śţàƀĩĺĩţŷ ŕēàśōńś."],"LKPR6G":["Ƥĺàŷĺĩśţ"],"LKSv28":["Śḿàŕţ Ćōĺĺēćţĩōńś àŕē śēĺƒ-ũƥďàţĩńĝ ćōńţēńţ ĺĩśţś. Ŷōũ śēţ ţĥē ǫũēŕŷ àńď ţĥē ćōĺĺēćţĩōń àũţōḿàţĩćàĺĺŷ àďďś àńŷ ńēŵ ćōńţēńţ ƒŕōḿ ŷōũŕ ĺĩƀŕàŕŷ ţĥàţ ƒĩţś ţĥōśē ŕũĺēś. Àńŷ ńēŵĺŷ àďďēď ćōńţēńţ ḿàţćĥĩńĝ ǫũēŕŷ ŵĩĺĺ ńōţ ḿōďĩƒŷ ēxĩśţĩńĝ ćĥàńńēĺ ƥŕōĝŕàḿḿĩńĝ àţ ţĥĩś ţĩḿē."],"LMMGPr":["Śũƀḿĩţţĩńĝ..."],"LRvqnF":["Ēŕŕōŕ śàvĩńĝ ńēŵ ĵēĺĺŷƒĩń śēŕvēŕ. Śēē ƀŕōŵśēŕ ćōńśōĺē àńď śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś"],"LTC198":["Ŕũńńĩńĝ..."],"LTYRAI":["Vĩēŵ Ĺĩƀŕàŕŷ"],"LiCr5o":["Ĺĩḿĩţ ḿũśţ ƀē ńũḿēŕĩć"],"MHrjPM":["Ţĩţĺē"],"MKK96e":["Vĩēŵ Ćōĺĺēćţĩōń"],"MR6Nlf":["Ćĥàńĝē ţĥē vēŕƀōśĩţŷ ōƒ śƥēćĩƒĩć ćàţēĝōŕĩēś ōƒ ĺōĝś. Ũśēƒũĺ ĩƒ ďēƀũĝĝĩńĝ à śƥēćĩƒĩć ƒēàţũŕē."],"MS1Dhi":["Ḿàx ƒĩĺē śĩźē (ƀŷţēś)"],"MVBLYK":["Ŕēḿōvē..."],"MW42Hp":["Ćũśţōḿĩźē ĥōŵ ḿōvĩē ƀĺōćķś àŕē śōŕţēď"],"Md/eZS":[["count","plural",{"one":["#"," ĩţēḿ"],"other":["#"," ĩţēḿś"]}]],"MfkGXC":["Śĥũƒƒĺē Ĝŕōũƥĩńĝ"],"MkMcGz":["Ŕēƒŕēśĥ Ĺĩƀŕàŕĩēś"],"Ml7h3C":[["0","plural",{"one":["#"," Ƥŕōĝŕàḿ"],"other":["#"," Ƥŕōĝŕàḿś"]}]],"Mrdyk9":["Ĝēńŕē"],"Mv+xQh":["Ńēŵ Ćĥàńńēĺ"],"N15e5e":["Ŕēḿōvē ćũśţōḿ ĩćōń"],"NGOfis":["Ďĩśàƀĺē Ĩḿàĝē Śćàĺĩńĝ"],"NGSThJ":["Śḿàŕţ Ćōĺĺēćţĩōń"],"NL/bON":["ƑƑḿƥēĝ Ćōḿḿàńď"],"NQ7yht":["Ḿũśţ ũśē à vàĺĩď ŨŔĹ, ōŕ ēḿƥţŷ."],"NaDxQ2":["Àũţō Ďēĩńţēŕĺàćē Vĩďēō"],"Nb+B9K":["ÀďĴũśţ ţĥē ōũţƥũţ vōĺũḿē (ńōţ ŕēćōḿḿēńďēď). Vàĺũēś ĥĩĝĥēŕ ţĥàń 100 ŵĩĺĺ ƀōōśţ ţĥē àũďĩō."],"NcV1df":["Ƥàď Śţàŕţ Ţĩḿēś"],"NfTP7a":["Àďvàńćēď ōƥţĩōńś ŕēĺàţĩńĝ ţō àũďĩō. Ĩń ĝēńēŕàĺ, ďō ńōţ ćĥàńĝē ţĥēśē ũńĺēśś ŷōũ ķńōŵ ŵĥàţ ŷōũ àŕē ďōĩńĝ!"],"NfZ8rc":["24-ĥōũŕ"],"Nkn5MW":["Ŕēḿōvēś àĺĺ Ƒĺēx ƥēŕĩōďś ƒŕōḿ ţĥē śćĥēďũĺē."],"NnH3pK":["Ţēśţ"],"NnuRri":["Ţĥĩś àĺĺōŵś ŷōũ ţō ƥĩćķ ţĥē ŵēĩĝĥţś ƒōŕ ēàćĥ ōƒ ţĥē śĥōŵś, śō ŷōũ ćàń ďēćĩďē ţĥàţ śōḿē śĥōŵś śĥōũĺď ƀē ĺēśś ƒŕēǫũēńţ ţĥàń ōţĥēŕ śĥōŵś."],"NtQvjo":["Ƥēŕĩōď"],"Nu4oKW":["Ďēśćŕĩƥţĩōń"],"Ny7dz3":["Àĺƀũḿś"],"NyfQ4q":["Śàvē àś Śḿàŕţ Ćōĺĺēćţĩōń"],"O1xfOi":["Ŕàńďōḿ..."],"O5izWu":["Ţĥĩś ćũśţōḿ śĥōŵ ĩś śŷńćēď ŵĩţĥ àń ēxţēŕńàĺ ƥĺàŷĺĩśţ. Ćōńţēńţ ĩś ũƥďàţēď àũţōḿàţĩćàĺĺŷ àńď ćàńńōţ ƀē ēďĩţēď ḿàńũàĺĺŷ."],"O8g6Na":["Ĺàśţ Śćàńńēď: ",["0"]],"OPw3KG":["Ćōńńēćţ Ḿēďĩà Śōũŕćē"],"OVmXHk":["Ŕēƒŕēśĥ Ţĩḿēŕ (Ĥōũŕś)"],"Ob+B6e":["ßũƒƒēŕ śĩźē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō"],"OfC/JK":["Ćũśţōḿ Śĥōŵ - ",["0"]],"OfYtUi":["Ƒĩĺĺēŕ Ćōńţēńţ"],"OfhWJH":["Ŕēśēţ"],"OrDu0o":["Vĩďēō ßũƒƒēŕ Śĩźē"],"Osn70z":["Ďēƀũĝ"],"P/TyYO":["Ţĥē ţŷƥē ōƒ ḿēďĩà ĩń ţĥē ƥŕōvĩďēď ƥàţĥś"],"P1BU0j":["Ƒŕàḿē Ŕàţē"],"P29ZKI":["Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ Ēḿƀŷ Śēŕvēŕ"],"P2DGHD":["Ƥŕōĝŕàḿḿĩńĝ śţàŕţś àţ ",["startTime"]," àńď śţōƥś àţ ",["endTime"]],"P3i3NN":["Ēďĩţ Ćĥàńńēĺ Śēţţĩńĝś"],"P6Io39":["Ḿàx Ĺàţēńēśś"],"P6c7YE":["Ŕēḿōvē Ƥŕōĝŕàḿḿĩńĝ"],"PCBfmf":["Ŕēńďēŕś à ćĥàńńēĺ ĩćōń (àĺśō ķńōŵń àś ƀũĝ ōŕ Ďĩĝĩţàĺ Ōń-śćŕēēń Ĝŕàƥĥĩć) ōń ţōƥ ōƒ ţĥē ćĥàńńēĺ\'ś śţŕēàḿ."],"PJ/u9s":["Ćōƥĩēď ",["0"]," ŨŔĹ ţō ćĺĩƥƀōàŕď"],"PT6k0T":["Ƥĩxēĺ Ƒōŕḿàţ"],"PX1WM1":["Śũććēśśƒũĺĺŷ ēḿƥţĩēď ţŕàśĥ."],"Pazp7r":["Ţĥēŕē ŵàś àń ēŕŕōŕ ĝēńēŕàţĩńĝ ţĩḿē śĺōţś. Ćĥēćķ ţĥē ƀŕōŵśēŕ ćōńśōĺē ĺōĝ ƒōŕ ḿōŕē ĩńƒōŕḿàţĩōń"],"PeBTGz":["Ćĺēàŕ Śćĥēďũĺē"],"PeBylA":["Ŷōũ ḿũśţ ćŕēàţē àţ ĺēàśţ ōńē <0>ƒĩĺĺēŕ ĺĩśţ ƀēƒōŕē àśśĩĝńĩńĝ ƒĩĺĺēŕ ţō à ĺōţ."],"Pfatg8":[["minutes","plural",{"one":["#"," ḿĩńũţē"],"other":["#"," ḿĩńũţēś"]}]],"PgdRhI":["Ŵēĩĝĥţĩńĝ"],"Ph+yE0":["0 ḿĩńś"],"PhKcf0":["Ēďĩţ Ţŕàńśćōďē Ćōńƒĩĝ"],"PiY0nu":["Ŷōũ ĥàvē ńō Ƒĩĺĺēŕ Ĺĩśţś. Ćŕēàţē ŷōũŕ ƒĩŕśţ Ƒĩĺĺēŕ Ĺĩśţ <0>ĥēŕē."],"Pol2QS":["Ēḿƀŷ"],"PpZkda":["Ƒēàţũŕēś"],"PwpUBp":["Ţĥĩś ĩś ţĥē ńàḿē ōƒ ţĥē ƒàķē ƥŕōĝŕàḿ ţĥàţ ŵĩĺĺ àƥƥēàŕ ĩń ţĥē ŢV ĝũĩďē ŵĥēń ţĥēŕē àŕē ńō ƥŕōĝŕàḿś ţō ďĩśƥĺàŷ ĩń ţĥàţ ţĩḿē śĺōţ ĝũĩďē, ē.ĝ ŵĥēń à ĺàŕĝē Ƒĺēx ƀĺōćķ ĩś śćĥēďũĺēď."],"Pwqkdw":["Ĺōàďĩńĝ…"],"Q8L6q9":["Vĩďēō Śţŕēàḿś"],"QAUrt0":["Ŕēƒŕēśĥ Ƥàĝē"],"QEb4hu":["Śţēàĺţĥ Ḿōďē"],"QG2xdt":["Ćŕēàţē Ŕēŕũń ßĺōćķ"],"QHRTYn":["Śĺōţś Ēďĩţōŕ..."],"QKMxhc":["Ţũńàŕŕ ŕũńś vàŕĩōũś ţàśķś, śōḿēţĩḿēś ōń à śćĥēďũĺē, ƒōŕ ƀàćķĝŕōũńď ōƥēŕàţĩōńś."],"QUxTIQ":["Ƒĩĺĺēŕ ĩś ŕēśōĺvēď àţ śćĥēďũĺē ţĩḿē. Ţĥē ĝũĩďē śĥōŵś śƥēćĩƒĩć ƒĩĺĺēŕ ţĩţĺēś."],"Qll2Tb":["Ďēść"],"QlrQ/Z":["Ńēxţ Śćĥēďũĺēď Ēxēćũţĩōń"],"Qm1NmK":["ŌŔ"],"Qu844y":["Ţĩḿē Śĺōţ Ēďĩţōŕ"],"QvKdb0":["Ƥĺàćēĥōĺďēŕ Ƥŕōĝŕàḿ Ţĩţĺē"],"Qx971g":["Àƒţēŕ Ēvēŕŷ"],"R/7J0Z":["Àŕţĩśţś"],"R/N+HY":["Ńō ƥŕōĝŕàḿḿĩńĝ àďďēď ŷēţ"],"R/xSFi":["Ēďĩţĩńĝ \\"",["0"],"\\""],"R0yni2":["Àţţēḿƥţ Àũţō-Ƒĩx"],"R40oLk":["Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ēńćōďēŕ ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś."],"R6kHq+":["Ĺĩńķ Ḿōďē"],"R9Khdg":["Àũţō"],"RCeEAd":["Ĝĺōƀàĺ Ōƥţĩōńś"],"RGf6l7":["Śēĺēćţ à śĺōţ ţō ĺĩńķ ţō"],"RI4u49":["<0>Ŷōũ ćàń ēďĩţ ţĥĩś ĺōćàţĩōń ĩń ŷōũŕ śēţţĩńĝś.Ĵśōń ŵĩţĥĩń ŷōũŕ Ţũńàŕŕ ďàţà ďĩŕēćţōŕŷ<1/><2>ŃŌŢĒ: Ŵĥēń ḿàńũàĺĺŷ àďďĩńĝ ţĥē XḾĹŢV ĺōćàţĩōń ţō à ćĺĩēńţ ĺĩķē Ƥĺēx, ďō ńōţ ũśē ţĥĩś ƒĩĺē ďĩŕēćţĺŷ. Ĩńśţēàď, ũśē ţĥē ĝēńēŕàţēď XḾĹŢV ƒŕōḿ ţĥē Ţũńàŕŕ ÀƤĨ ēńďƥōĩńţ: ",["0"],""],"RTxUjI":["Ćōƥŷ ţō Ćĺĩƥƀōàŕď"],"RUYsn0":["Ćĺēàŕ Àĺĺ"],"RVl9/c":["Àĺţēŕńàţē ƥŕōĝŕàḿś ĩń ƀĺōćķś. Ŷōũ ćàń ƥĩćķ ţĥē ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś ƥēŕ-ţŷƥē ĩń ēàćĥ ƀĺōćķ àńď ĩƒ ţĥē ōŕďēŕ ōƒ śĥōŵś ĩń ēàćĥ ƀĺōćķ śĥōũĺď ƀē ŕàńďōḿĩźēď."],"RYP47R":[["0","plural",{"one":["Ďàŷ"],"other":["Ďàŷś"]}]],"RYlQY0":["Ŕēƥēàţś"],"RaHlqV":[["totalConnections","plural",{"one":["#"," ćōńńēćţĩōń"],"other":["#"," ćōńńēćţĩōńś"]}]],"RavMGr":[["count","plural",{"one":["śēćōńď"],"other":["śēćōńďś"]}]],"RbgUS/":["Ćōƥŷ Ćĥàńńēĺ ĨĎ"],"RtPRIb":["Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ďàŷś ţō ƥŕēćàĺćũĺàţē ţĥē śćĥēďũĺē. Ńōţē ţĥàţ ţĥē ĺēńĝţĥ ōƒ ţĥē śćĥēďũĺē ĩś àĺśō ƀōũńďēď ƀŷ ţĥē ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƥŕōĝŕàḿś àĺĺōŵēď ĩń à ćĥàńńēĺ."],"RxzN1M":["Ēńàƀĺēď"],"S/CawK":["Ḿōvĩēś àŕē ĝŕōũƥēď àĺţōĝēţĥēŕ"],"S5v5/h":["Ēńàƀĺĩńĝ ēḿƀēďďēď śũƀţĩţĺē ēxţàćţĩōń ŵĩĺĺ ƥēŕĩōďĩćàĺĺŷ śćàń ŷōũŕ ũƥćōḿĩńĝ ƥŕōĝŕàḿḿĩńĝ ƒōŕ ēḿƀēďďēď ţēxţ-ƀàśēď śũƀţĩţĺē śţŕēàḿś àńď ēxţŕàćţ ţĥēḿ ţō à ĺōćàĺ ćàćĥē. Ţĥĩś ĩś ńēćēśśàŕŷ ĩń ōŕďēŕ ţō ēńàƀĺē śũƀţĩţĺē ƀũŕńĩńĝ ƒōŕ ţēxţ-ƀàśēď śũƀţĩţĺēś ŵĥĩćĥ àŕē ńōţ ēxţēŕńàĺ śţŕēàḿś."],"S60KP9":["Śēŕvēŕ Śēţţĩńĝś"],"S8zZJK":["Ŵēĺćōḿē ţō Ţũńàŕŕ!"],"SBtwzo":["Vēŕśĩōń Ḿĩśḿàţćĥ!"],"SCZJhh":["Àũďĩō ßĩţŕàţē"],"SFjIKS":[["0","plural",{"one":["#"," Śēĺēćţēď Ĩţēḿ"],"other":["#"," Śēĺēćţēď Ĩţēḿś"]}]],"SOXW6w":["Àĺĺ Ĝēńŕēś"],"SY1gRl":["Ḿēďĩà Śōũŕćē"],"SYGPcm":["Ŷōũ ĥàvē ńō śḿàŕţ ćōĺĺēćţĩōńś. Śḿàŕţ ćōĺĺēćţĩōńś ćàń ƀē ćŕēàţēď ōń ţĥē <0>śēàŕćĥ ƥàĝē."],"SZcfpX":["Ƥàď Śţŷĺē"],"SZzr30":["Ţĥē śēĺēćţēď ĺàńĝũàĝēś ŵĩĺĺ ƀē ćōńśĩďēŕēď ĩń ōŕďēŕ ţĥēŷ àŕē śēĺēćţēď."],"Sbs5dW":["Ƒĩĺĺēŕ"],"Sg3laT":["Ḿĩń Ďũŕàţĩōń"],"SoRsRS":["Ćàĺćũĺàţēś à śćĥēďũĺē ŵĥēŕē àĺĺ ƥŕōĝŕàḿś ēńď àţ ţĥē śàḿē ţĩḿē, ćŕēàţĩńĝ à ƥēŕƒēćţĺŷ ĺōōƥĩńĝ śćĥēďũĺē."],"SuubHr":["Ďēĺēţĩńĝ à Ƥĺēx śēŕvēŕ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ŷōũŕ ćĥàńńēĺś àśśōćĩàţēď ŵĩţĥ ţĥĩś ƥĺēx śēŕvēŕ. Ḿĩśśĩńĝ ƥŕōĝŕàḿḿĩńĝ ŵĩĺĺ ƀē ŕēƥĺàćēď ŵĩţĥ Ƒĺēx ţĩḿē. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē."],"SywaS+":["Ďàţà Ďĩŕēćţōŕŷ:"],"T5wfux":["Ḿàķēś ḿũĺţĩƥĺē ćōƥĩēś ōƒ ţĥē śćĥēďũĺē àńď ƥĺàŷś ţĥēḿ ĩń śēǫũēńćē"],"T8drou":["Śŷśţēḿ Ĥēàĺţĥ"],"TEM0vH":["Ŕēḿōvēś àĺĺ ƥŕōĝŕàḿś ƒŕōḿ ćũśţōḿ śĥōŵ"],"TMADKS":["Ďĩvĩďēś ţĥē ƥŕōĝŕàḿḿĩńĝ ĩń ƀĺōćķś ōƒ 4, 6, 8 ōŕ 12 ĥōũŕś ţĥēń ŕēƥēàţś ēàćĥ ōƒ ţĥē ƀĺōćķś ţĥē śƥēćĩƒĩēď ńũḿƀēŕ ōƒ ţĩḿēś."],"TMju4P":["Ďēĺēţē Ḿēďĩà Śōũŕćē \\"",["0"],"\\"?"],"TS0lwx":["Ēńćōũńţēŕēď àń ēŕŕōŕ ŵĥēń ēḿƥţŷĩńĝ ţŕàśĥ. Ćĥēćķ ćōńśōĺē ĺōĝś ƒōŕ ďēţàĩĺś."],"TZKpsF":["Ńō Ḿēďĩà Śōũŕćēś ďēţēćţēď."],"TpqW74":["Ƒĩxēď"],"Ts6Zfm":["Ēŕŕōŕ ũƥďàţĩńĝ Śḿàŕţ Ćōĺĺēćţĩōń. Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś."],"Ts8Q+i":["ĒƤĜ"],"TvY/XA":["Ďōćũḿēńţàţĩōń"],"Tz0i8g":["Śēţţĩńĝś"],"TzyoiK":["Ŵĥēń ēńàƀĺĩńĝ, Ţũńàŕŕ ŵĩĺĺ ĝēńēŕàţē àń ĩńĩţĩàĺ ƀàćķũƥ ĩḿḿēďĩàţēĺŷ"],"U0sC6H":["Ďàĩĺŷ"],"U3+jR/":["Ŕēƥĺĩćàţē Ƥŕōĝŕàḿś"],"UC1lMc":["Ƒàĩĺēď ţō śàvē ƒēàţũŕē ƒĺàĝś."],"UE2eVC":["Śōŕţś àĺƥĥàƀēţĩćàĺĺŷ ƀŷ ƥŕōĝŕàḿ ţĩţĺē"],"UHu/Uf":["Śĥōŵ ōńĺŷ śŷńćēď ĺĩƀŕàŕĩēś"],"UOMT7z":["Ţĥĩś ōƥţĩōń ĩś ďĩśàƀĺēď ƀēćàũśē ĩţ ŵōũĺď ćàĺćũĺàţē à śćĥēďũĺē ţĥàţ ĩś ţōō ĺōńĝ."],"URmyfc":["Ďēţàĩĺś"],"UXC1jS":["ŃōďēĵŚ: ",["0"]],"UYUgdb":["Ōŕďēŕ"],"UYW9jU":["Śũććēśśƒũĺĺŷ ŕàń śŷśţēḿ ƒĩxēŕ ",["fixerId"]],"Uf/h/w":["Ƥĩćķ śƥēćĩƒĩć ƥŕōĝŕàḿḿĩńĝ ţō ŕēḿōvē ƒŕōḿ ţĥē ćĥàńńēĺ."],"UirGxE":["Ēŕŕōŕś"],"UnI8zh":["Ćĥàńńēĺ #",["0"]],"UweSf9":["Àďď Ćĥàńńēĺ Ŕēďĩŕēćţ"],"V8B1wG":["Ĺàśţ śŷńćēď ",["0"]],"V9UVpb":["Ţōţàĺ ĥĩţś: ",["0"]],"VBsY8N":["Śēţ ţō 0 ţō ńēvēŕ ďēĺēţē ƀàćķũƥś"],"VIHbrI":["Àďvàńćēď ōƥţĩōńś ŕēĺàţĩńĝ ţō ţŕàńśćōďĩńĝ. Ĩń ĝēńēŕàĺ, ďō ńōţ ćĥàńĝē ţĥēśē ũńĺēśś ŷōũ ķńōŵ ŵĥàţ ŷōũ àŕē ďōĩńĝ! Ţĥēśē śēţţĩńĝś ēxĩśţ ĩń ōŕďēŕ ţō ĺēàvē śōḿē ƥàŕĩţŷ ŵĩţĥ ţĥē ōĺď ďĩźǫũēŢV ţŕàńśćōďē ƥĩƥēĺĩńē àś ŵēĺĺ àś ţō ƥŕōvĩďē ḿēćĥàńĩśḿś ţō àĩď ĩń ďēƀũĝĝĩńĝ śţŕēàḿĩńĝ ĩśśũēś."],"VP2oPP":["Śĺōţś"],"VVAgOP":["Ŕēśćàń Ĩńţēŕvàĺ (ĥōũŕś)"],"VXdzY3":["Ďĩśàƀĺē Ĥàŕďŵàŕē Ēńćōďĩńĝ"],"Va3xJe":["Àďď ƒĩēĺď"],"VfWz27":["Ŵēĩĝĥţ %"],"VlEnCC":["Àŕćĥĩvē Ƒōŕḿàţ"],"VlWKwW":["Ĺàźŷ"],"Vmvp5H":[["count","plural",{"one":["ďàŷ"],"other":["ďàŷś"]}]],"VrBtVn":["ßàćķũƥś:"],"Vw5EeW":["Ēńàƀĺē ßàćķũƥś"],"VyUuZb":["Ĩḿàĝē ŨŔĹ"],"WAakm9":["Ďēĺēţē Ćĥàńńēĺ"],"WDgJiV":["Śćàńńēŕ"],"WGkxNZ":["Ēŕŕōŕ ǫũēŕŷĩńĝ Ƥĺēx. Ćĥēćķ ćōńśōĺē ĺōĝ àńď ćōńśĩďēŕ ŕēƥōŕţĩńĝ à ƀũĝ!"],"WKHqM+":["Ŵēĩĝĥţ"],"WMQchs":["Àũďĩō ßũƒƒēŕ Śĩźē"],"WT1Ibn":["Ĺàśţ ŕũń"],"Wb3E4g":["Ŕũń ńōŵ"],"Weq9zb":["Ĝēńēŕàĺ"],"WhJZoS":["Ćĥōōśē ţĥē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōń ţō ũśē ƒōŕ ţĥĩś ćĥàńńēĺ. Ćōńƒĩĝũŕē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōńś ōń ţĥē <0>ƑƑḿƥēĝ śēţţĩńĝś ƥàĝē."],"WjUHH8":["Ḿōvĩē Śōŕţ"],"WnW1QF":[["block"]," Ĥōũŕś"],"WzNAIP":[["0","plural",{"one":["Ĥōũŕ"],"other":["Ĥōũŕś"]}]],"X0mSqw":["Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ƒĩĺţēŕś (ē.ĝ. śćàĺē, ƥàď, ēţć.) ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś."],"X9EHMa":["Ēďĩţĩńĝ Śḿàŕţ Ćōĺĺēćţĩōń \\"",["0"],"\\""],"XDT85c":["Ḿēďĩà Śōũŕćēś"],"XIgmo9":["Ďĩď ńōţ ŕēćēĩvē àń àććēśśŢōķēń ōŕ ũśēŕĨď ƒŕōḿ ĵēĺĺŷƒĩń śēŕvēŕ."],"XNtsE7":["Ćàĺćũĺàţĩńĝ Śĺōţś..."],"XNw99A":["Śōƒţŵàŕē (Ńō ĜƤŨ)"],"XOgcN3":["Ƒĩĺĺēŕ Ĺĩśţ: ",["0"]],"XOuE6F":["Ţĥĩś ćōũĺď ćàũśē ţĥē ƒōĺĺōŵĩńĝ śĺōţ\'ś ƥŕōĝŕàḿś ţō ĝō ũńśćĥēďũĺēď. Ƥōśśĩƀĺē śōĺũţĩōńś ĩńćĺũďē:"],"XSkU3F":["* Ŕēśţàŕţ ŕēǫũĩŕēď"],"XWYqJx":["Ďũƥĺĩćàţē Ćĥàńńēĺ"],"XXwX66":["Śēţ ţĥē ĺōĝ ĺēvēĺ ƒōŕ ţĥē Ţũńàŕŕ śēŕvēŕ.<0/>Śēĺēćţĩńĝ <1>\\"Ũśē ēńvĩŕōńḿēńţ śēţţĩńĝś\\" ŵĩĺĺ ĩńśţŕũćţ ţĥē śēŕvēŕ ţō ũśē ţĥē <2>ĹŌĜ_ĹĒVĒĹ ēńvĩŕōńḿēńţ vàŕĩàƀĺē, ĩƒ śēţ, ōŕ śŷśţēḿ ďēƒàũĺţ \\"ĩńƒō\\"."],"XePUKr":["Ţēśţ Ţŕàńśćōďē"],"XhWvkJ":[["0"]," ōƒ ",["1"]," ",["2"]," ēxćēēď ţĥē ĺēńĝţĥ ōƒ ţĥĩś śĺōţ (",["3"],"). Àvēŕàĝē ƥŕōĝŕàḿ ĺēńĝţĥ: ",["4"]],"Xkppm4":["Ēńàƀĺē Ŵàţēŕḿàŕķ"],"Xm/WEQ":["Ćĥàńńēĺ Ĝŕōũƥ"],"XsR2HX":["Ţēśţ Ďũŕàţĩōń (śēćōńďś)"],"Xuml3I":["ßŷ ďēƒàũĺţ, ţĩḿē śĺōţś àŕē ţĩḿē ōƒ ţĥē ďàŷ-ƀàśēď, ŷōũ ćàń ćĥàńĝē ĩţ ţō ţĩḿē ōƒ ţĥē ďàŷ + ďàŷ ōƒ ţĥē ŵēēķ. Ţĥàţ ḿēàńś śćĥēďũĺĩńĝ 7x ţĥē ńũḿƀēŕ ōƒ ţĩḿē śĺōţś. Ĩƒ ŷōũ ćĥàńĝē ƒŕōḿ ďàĩĺŷ ţō ŵēēķĺŷ, ţĥē ćũŕŕēńţ śćĥēďũĺē ŵĩĺĺ ƀē ŕēƥēàţēď 7 ţĩḿēś. Ĩƒ ŷōũ ćĥàńĝē ƒŕōḿ ŵēēķĺŷ ţō ďàĩĺŷ, ḿàńŷ ōƒ ţĥē śĺōţś ŵĩĺĺ ƀē ďēĺēţēď."],"XwU6BE":["Ŷōũ ĥàvēń\'ţ ćŕēàţēď àńŷ ƒĩĺĺēŕ ĺĩśţś ŷēţ! Ĝō ţō ţĥē <0>Ƒĩĺĺēŕ Ĺĩśţś ƥàĝē ţō ćŕēàţē ōńē."],"Y2ngGV":["Àďď à Ƒĩĺĺēŕ Ĺĩśţ"],"Y5XZLy":["<0>Ƥàď Śĺōţ: Àĺĩĝń śĺōţ śţàŕţ ţĩḿēś ţō ţĥē śƥēćĩƒĩēď ƥàď ţĩḿē.<1/><2>Ƥàď Ēƥĩśōďē: Àĺĩĝń ēƥĩśōďē śţàŕţ ţĩḿēś (ŵĩţĥĩń à śĺōţ) ţō ţĥē śƥēćĩƒĩēď ƥàď ţĩḿē. <3>ŃŌŢĒ: Ďēƥēńďĩńĝ ōń śĺōţ ĺēńĝţĥ àńď ţĥē ćĥōśēń ƥàď ţĩḿē, ţĥĩś ćōũĺď ƥōţēńţĩàĺĺŷ ćŕēàţē à ĺōţ ōƒ ƒĺēx."],"Y84UgQ":["Ĺōũďńēśś Ţàŕĝēţ"],"YAKCkm":["Àń ēŕŕōŕ ōććũŕŕēď: ",["0"]],"YDlcs3":["Śĥũƒƒĺē Ƥŕōĝŕàḿḿĩńĝ"],"YLUnu0":["Ţēśţ Ƥĺàŷƀàćķ"],"YN7vx3":["Ćũśţōḿ Śĥōŵ"],"YRQaPv":["Ĺàśţ Śŷńćēď"],"YRT1+e":["Ćŕēàţēś à ńēŵ ćōĺĺēćţĩōń"],"YSptU0":["Ŕēƥĺĩćàţē..."],"YT5/eK":["Ḿēďĩà Śōũŕćē: \\"",["0"],"\\""],"YXwR3a":["Ŕēśţōŕē ďēƒàũĺţ ĺōĝō"],"YY/JN7":[" ţĥē ƒōĺĺōŵĩńĝ ďàŷ."],"YYLNVW":["Ĩńśēŕţ ƀŕēàķś àţ ţĥēśē ƥēŕćēńţàĝēś ōƒ ţĥē ƥŕōĝŕàḿ ďũŕàţĩōń"],"YdIZFA":["Ţĥĩś ćĥàńńēĺ ńũḿƀēŕ ĥàś àĺŕēàďŷ ƀēēń ũśēď"],"Yf/Mtb":["Ŷōũ\'ŕē Àĺĺ Śēţ!"],"Z10t2U":["Ŕēḿōvēś ŕēƥēàţēď ƥŕōĝŕàḿś."],"Z3FXyt":["Ĺōàďĩńĝ..."],"Z4IQ8m":["Ćĥàńńēĺ Ţŕàńśćōďē Ćōńƒĩĝ"],"Z5IrB3":["Ōƥēń ĩń ",["0"]],"Z6dMWq":["Ēŕŕōŕ ŵĥĩĺē ŕũńńĩńĝ śŷśţēḿ ƒĩxēŕ ",["fixerId"],". Ćĥēćķ śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś."],"ZND/fh":["Ćàńńōţ ƀē ēḿƥţŷ"],"ZNZzTe":["Ćàńńōţ ďĩśàƀĺē ĺĩƀŕàŕĩēś ŵĥēń ţĥēŷ àŕē ĺōćķēď"],"ZShzvn":["\\"",["0"],"\\" Ĺĩvē"],"ZWRt1W":["Ōũţƥũţ Ƥàţĥ"],"ZkdKVr":["Ŕēďĩŕēćţ ţō Ćĥàńńēĺ ",["0"]],"Zky8hA":["Ţĥē ĩḿàĝē ŵĩĺĺ ƀē ŕēńďēŕēď àţ ĩţś àćţũàĺ śĩźē ŵĩţĥōũţ àńŷ śćàĺĩńĝ àƥƥĺĩēď."],"Zs2GWW":["Ńēŵ Ēḿƀŷ Ḿēďĩà Śōũŕćē"],"Zul8Ry":["ńēvēŕ"],"Zvipe1":["Ēďĩţĩńĝ Ƥĺēx Śēŕvēŕ \\"",["0"],"\\""],"ZxwuFV":["Ďēĺēţĩńĝ à Ćĥàńńēĺ ŵĩĺĺ ŕēḿōvē àĺĺ ƥŕōĝŕàḿḿĩńĝ ƒŕōḿ ţĥē ćĥàńńēĺ. Ţĥĩś àćţĩōń ćàńńōţ ƀē ũńďōńē."],"a+Pr3s":["Àƥƥĺŷ ţō Ƥŕōĝŕàḿ Ţŷƥēś (ēḿƥţŷ = àĺĺ)"],"a4N/Bg":["Ĺōàď Ḿōŕē"],"aE3UMm":["<0>Ńōńē: śĺōţś àŕē ƥĩćķēď ĩń ţĥē ōŕďēŕ ţĥēŷ àŕē śƥēćĩƒĩēď ĩń ţĥē ţàƀĺē (ĩ.ē. ńōţ ŕàńďōḿĺŷ)<1/><2>Ũńĩƒōŕḿ: àĺĺ śĺōţś ĥàvē àń ēǫũàĺ ćĥàńćē ţō ƀē ƥĩćķēď.<3/><4>Ŵēĩĝĥţēď: ēàćĥ śĺōţ ĩś ƥĩćķēď ŵĩţĥ à śƥēćĩƒĩēď ƥŕōƀàƀĩĺĩţŷ"],"aOaCIk":["Àĺĺōŵ Ēxţēŕńàĺ"],"aScBGS":["Àďď à ƒĩĺţēŕ ēxƥŕēśśĩōń ţō ƒĩńē-ţũńē ŕēśũĺţś ōƒ ţĥē śēàŕćĥ"],"aSwfbR":["Ũńĩţ"],"ak3N0i":["Ĩţēḿ ŵàś ńōţ ƥŕēśēńţ ďũŕĩńĝ ţĥē ĺàśţ śćàń"],"aoLy25":["Ōƥàćĩţŷ"],"b0Uv6P":[["0","plural",{"one":["Ƥàţĥ"],"other":["Ƥàţĥś"]}]],"b6sx4K":["Ńō àćţĩvē śēśśĩōńś"],"bDY29m":["Ĺōĝàŕĩţĥḿĩć"],"bGG6B1":["ĵēĺĺŷƒĩń"],"bHNlfr":["Ĩńćŕēàśĩńĝ ţĥē śĺōţ ďũŕàţĩōń."],"bNEQeI":["Ćōōĺďōŵń"],"bORfbY":["Ćàńńōţ ũśē à ćĥàńńēĺ ńũḿƀēŕ <= 0"],"bPJiZF":["Śĥōŵ: ",["0"]],"bSIBDb":["Ŕēĺēàśē Ďàţē (àść)"],"bm8pgG":["Àďď ĝŕōũƥ"],"boItSp":["Ďēĺēţē Ḿēďĩà Śōũŕćē?"],"buS8nL":["Ēńàƀĺē Śũƀţĩţĺēś"],"bxyuno":["Ōvēŕŕĩďē ĝĺōƀàĺ àũďĩō àńď śũƀţĩţĺē śēţţĩńĝś ƒōŕ ţĥĩś ćĥàńńēĺ."],"bydide":["ƑƑḾƤĒĜ Ĺōĝ Ḿēţĥōď"],"c6fsNw":["Ŵĥēń ēńàƀĺēď, ĩńţēŕḿĩţţēńţ ŵàţēŕḿàŕķś ƒàďē ĩń ĩḿḿēďĩàţēĺŷ ŵĥēń à śţŕēàḿ ĩś ĩńĩţĩàĺĩźēď. Ŵĥēń ďĩśàƀĺēď, ţĥē ƒĩŕśţ ŵàţēŕḿàŕķ ƒàďē-ĩń ōććũŕś àƒţēŕ à ƒũĺĺ ƥēŕĩōď."],"cF5KzV":["Ēďĩţ Ƒĩĺĺēŕ Ĺĩśţ"],"cFTdM+":["Ćōńśōĺē"],"cHYx4E":["Ēḿƥţŷ Ţŕàśĥ"],"cLgGtf":["Ŕēśēţ ƥŕōĝŕàḿḿĩńĝ ţō ḿōśţ ŕēćēńţĺŷ śàvēď śţàţē"],"cN5Dty":["Ńō Ƥŕōĝŕàḿḿĩńĝ śćĥēďũĺēď"],"cOvZFM":["Ďŷńàḿĩć"],"cXkSYc":["Ţĥēŕē ŵàś àń ēŕŕōŕ śũƀḿĩţţĩńĝ ţĥē ŕēǫũēśţ ţō ũƥďàţē Ḿēďĩà Śōũŕćē śēţţĩńĝś. Ƥĺēàśē ćĥēćķ ţĥē ƒōŕḿ àńď ţŕŷ àĝàĩń"],"caSM6R":["Ţĥĩś ĩś ũśēď ƀŷ ĩƥţv ćĺĩēńţś ţō ćàţēĝōŕĩźē ţĥē ćĥàńńēĺś. Ŷōũ ćàń ĺēàvē ĩţ àś \'ţũńàŕŕ\' ĩƒ ŷōũ ďōń\'ţ ńēēď ţĥĩś śōŕţ ōƒ ćĺàśśĩƒĩćàţĩōń."],"cgo+Ch":[["remainingTime"]," ĺēƒţ"],"cheWPw":["Ďũƥĺĩćàţēś"],"cjX7aq":["Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ďēĺēţē Śḿàŕţ Ćōĺĺēćţĩōń \\"",["0"],"\\"?"],"cmKYIw":["Ōvēŕƒĺōŵ ßēĥàvĩōŕ"],"cmlWKg":["<0>Ēŕŕōŕ ďēĺēţĩńĝ ćũśţōḿ śĥōŵ: ",["0"],"<1/>Ƥĺēàśē ćōńśĩďēŕ ōƥēńĩńĝ à ƀũĝ ŵĩţĥ ďēţàĩĺś!"],"cnCAaO":["Ƥēŕćēńţàĝē-ßàśēď"],"cnGeoo":["Ďēĺēţē"],"cv/ykT":["Śēàŕćĥ Śēŕvēŕ ŨŔĹ:"],"cxrM1O":["Ćōńńēćţ Śōũŕćēś"],"d5zxa4":["Ĺōćàĺ"],"d72gcv":["Ĺōũďńōŕḿ Ōƥţĩōńś"],"d9HhJj":["Ţĥĩś ḿēďĩà śōũŕćē ĥàś ńō ēńàƀĺēď ōŕ śćàńńēď ĺĩƀŕàŕĩēś. Ēńàƀĺē ĺĩƀŕàŕĩēś ƒōŕ ţĥĩś śōũŕćē ōń ţĥē <0>Ḿēďĩà Śōũŕćēś ƥàĝē ōŕ ḿàńũàĺĺŷ ţŕĩĝĝēŕ śćàńś ōń ţĥē <1>Ĺĩƀŕàŕŷ ƥàĝē."],"d9Tsiy":["Ēŕŕōŕ ũƥďàţĩńĝ ćĥàńńēĺ.<0/>Ćĥēćķ ƀŕōŵśēŕ ćōńśōĺē ƒōŕ ďēţàĩĺś"],"d9XR+x":["Ţŕàńśćōďē Ćōńƒĩĝ <0> <1/>"],"dBV/FP":["Ĺōćķ Ŵēĩĝĥţś"],"dDX6oS":["Vĩďēōś ƒŕōḿ ţĥē ƒĩĺĺēŕ ĺĩśţ ŵĩĺĺ ƀē ŕàńďōḿĺŷ ƥĩćķēď ţō ƥĺàŷ ũńĺēśś ţĥēŕē àŕē ćōōĺďōŵń ŕēśţŕĩćţĩōńś ţō ƥĺàćē ōŕ ĩƒ ńō vĩďēōś àŕē śĥōŕţ ēńōũĝĥ ƒōŕ ţĥē ŕēḿàĩńĩńĝ Ƒĺēx ţĩḿē.<0/>Ēàćĥ ƒĩĺĺēŕ ćàń ƀē àśśĩĝńēď à ćōōĺďōŵń, ŵĥĩćĥ ŕēśţŕĩćţś ĥōŵ ƒŕēǫũēńţĺŷ ţĥē ĺĩśţ ŵĩĺĺ ƀē ćĥōśēń ďũŕĩńĝ ƒĺēx ţĩḿē."],"dEgA5A":["Ćàńćēĺ"],"dH8AwH":["Àďď ßŕēàķś"],"dK3Z9j":["Ćōḿƥōńēńţ"],"dQvGiF":[["0","plural",{"one":["#"," śēśśĩōń"],"other":["#"," śēśśĩōńś"]}]],"dScixt":["Ēńàƀĺē ďàŕķ Ḿōďē"],"dUyQn5":["Ōń-Ďēḿàńď"],"daSf8d":["Ĝŕōũƥ ēƥĩśōďē ƥŕōĝŕàḿś ƀŷ ţĥēĩŕ śĥōŵ."],"djpQ8z":["Ŕēĺōàď Śţŕēàḿ"],"dkURuB":["Ţàĩĺ ßũƒƒēŕ (ḿĩńũţēś)"],"dnCwNB":["Śũććēśśƒũĺĺŷ ćōƥĩēď ţō ćĺĩƥƀōàŕď!"],"eARDm/":[["0","plural",{"one":["#"," śēàśōń"],"other":["#"," śēàśōńś"]}],", ",["1","plural",{"one":["#"," ţōţàĺ ēƥĩśōďē"],"other":["#"," ţōţàĺ ēƥĩśōďēś"]}]],"eEpDfJ":["Ŵĩĺĺ ƒōŕćē ũśē ōƒ à śōƒţŵàŕē ďēćōďēŕ ďēśƥĩţē ĥàŕďŵàŕē àććēĺēŕàţĩōń śēţţĩńĝś."],"eNorwJ":["Ƥŕōĝŕàḿś Ţōō Ĺōńĝ"],"ePK91l":["Ēďĩţ"],"eSsduj":["VÀ-ÀƤĨ Ďēvĩćē"],"eZTFiP":["Ŕēvĩēŵ Śēĺēćţĩōńś"],"eZe0fr":["Àũďĩō Ćĥàńńēĺś"],"ecUA8p":["Ţōďàŷ"],"efuwN9":["Ţĥēśē śēţţĩńĝś àŕē śţōŕēď ĩń ŷōũŕ ƀŕōŵśēŕ àńď àŕē śàvēď àũţōḿàţĩćàĺĺŷ ŵĥēń ćĥàńĝēď."],"eg6m1K":["Ēďĩţ Ţŕàńśćōďē Ćōńƒĩĝ: \\"",["0"],"\\""],"ep+NHZ":["Ĩƒ ŷōũ ƥŕōćēēď, àĺĺ ũńśàvēď ćĥàńĝēś ŵĩĺĺ ƀē ĺōśţ. Àŕē ŷōũ śũŕē ŷōũ ŵàńţ ţō ƥŕōćēēď?"],"et+mIi":["Ţŕōũƀĺēśĥōōţ"],"euChZN":["Ćŷćĺĩć Śĥũƒƒĺē"],"euc6Ns":["Ďũƥĺĩćàţē"],"exYcTF":["Ĺĩƀŕàŕŷ"],"eyRsaH":["Ŕōōţ"],"f0w0IC":["Ĺēàvē ƀĺàńķ ţō ũśē ţĥē ćĥàńńēĺ\'ś ĩćōń."],"f6Hub0":["Śōŕţ"],"f6pgxW":["Ţēḿƥōŕàŕĩĺŷ ćàćĥēś ŕēśƥōńśēś ƒŕōḿ Ƥĺēx ƀàśēď ƀŷ ŕēǫũēśţ ƥàţĥ. Ćōũĺď ƥōţēńţĩàĺĺŷ śƥēēď ũƥ ćĥàńńēĺ ēďĩţĩńĝ."],"f7DWm5":["Ńēēď àţ ĺēàśţ ōńē ƥàţĥ"],"fD+lMD":["Śēĺēćţ ţĥē ƥōŕţ ţĥē Ţũńàŕŕ śēŕvēŕ ŵĩĺĺ ĺĩśţēń ōń. Ţĥĩś ŕēǫũĩŕēś à śēŕvēŕ ŕēśţàŕţ ţō ţàķē ēƒƒēćţ."],"fI+mNw":["Ƥĺàŷĺĩśţś"],"fJfo1A":["Śēŕvēŕ Ƥàţĥ"],"fN4bgn":["Ďēĺēţē Ƒĩĺĺēŕ Ĺĩśţ \\"",["0"],"\\"?"],"fQ9phi":["Ŕēḿōvē Àĺĺ"],"fSRZCh":["Ŕēśţōŕē Ďēƒàũĺţ Śēţţĩńĝś"],"fU1065":["Ḿĩď-Ŕōĺĺ"],"fWj7Tt":["Śĥũƒƒĺē ƥŕōĝŕàḿḿĩńĝ ĩń à ćĥàńńēĺ, ōƥţĩōńàĺĺŷ ĝŕōũƥĩńĝ ƥŕōĝŕàḿś ƀŷ ćēŕţàĩń ćŕĩţēŕĩà."],"fcqkKg":["Ńōţ ƒōũńď!"],"fsBGk0":["ßàĺàńćē"],"ftF4U5":["Śĥōŵ Àďvàńćēď"],"fxTyFe":["Ţĥĩś śĺōţ ĩś ĺĩńķēď ŵĩţĥ ",["0"]," ōţĥēŕ ",["1","plural",{"one":["śĺōţ"],"other":["śĺōţś"]}],"Ćōńţēńţ ƒĩēĺďś àŕē śĥàŕēď àćŕōśś ţĥē ĝŕōũƥ."],"fyo+NB":["Ţĥē Ēńď."],"fzWV5a":["Śōŕţ ŢV Śĥōŵś (ďēść)"],"g2Pro3":["Ŕēśēţ ćĥàńĝēś ḿàďē ţō ţĥē ćĥàńńēĺ\'ś ĺĩńēũƥ"],"g6LxbB":["ßŕēàķ Ĩńţēŕvàĺ (ḿĩńũţēś)"],"g7LzUS":["Ĩńśţàĺĺ ƑƑḾƤĒĜ"],"gBx20d":["Ćũśţōḿ Ƥŕōĝŕàḿ"],"gH5Gbn":["Śĥũƒƒĺē"],"gJrGqR":["ƑƑḿƥēĝ vēŕśĩōń 7.1+ ŕēćōḿḿēńďēď. Ćĥēćķ ŷōũŕ ćũŕŕēńţ vēŕśĩōń ĩń ţĥē śĩďēƀàŕ"],"gL9DoB":["Ƥŕōĝŕàḿś śĥōŕţēŕ ţĥàń ţĥĩś vàĺũē ŵĩĺĺ ƀē ţŕēàţēď ţĥē śàḿē àś Ƒĺēx ţĩḿē. Ḿēàńĩńĝ ţĥàţ ţĥē ŢV Ĝũĩďē ŵĩĺĺ ţŕŷ ţō ḿēĺď ţĥēḿ ŵĩţĥ ţĥē ƥŕēvĩōũś ƥŕōĝŕàḿ ōŕ ďĩśƥĺàŷ ţĥē ƀĺōćķ ōƒ ƥŕōĝŕàḿś àś ţĥē \\"ƥĺàćē ĥōĺďēŕ ƥŕōĝŕàḿ\\" ĩƒ ţĥēŷ ḿàķē à ĺàŕĝē ćōńţĩńũōũś ĝŕōũƥ. Ũśē 0 ţō ďĩśàƀĺē ţĥĩś ƒēàţũŕē ōŕ ũśē à ĺàŕĝē vàĺũē ţō ḿàķē ţĥē ćĥàńńēĺ ŕēƥōŕţ ōńĺŷ ţĥē ƥĺàćēĥōĺďēŕ ƥŕōĝŕàḿ àńď ńōţ ţĥē ŕēàĺ ƥŕōĝŕàḿḿĩńĝ.\\n",["0"]],"gR/hgc":["Ēŕŕōŕ Àũďĩō"],"gcD6jw":["Ĥĩďē ŵàţēŕḿàŕķ ďũŕĩńĝ ƒĩĺĺēŕ"],"gf/bM4":["Ćōńţĩńũē ŵĩţĥ Ńēŵ Ćōńţēńţ"],"gg9/ya":["Ŕēḿōvē ",["count"]," ",["0"]],"ghGSuE":["Ēńśũŕēś ƥŕōĝŕàḿś ĥàvē à ńĩćē-ĺōōķĩńĝ śţàŕţ ţĩḿē, ĩţ ŵĩĺĺ àďď Ƒĺēx ţĩḿē ţō ƒĩĺĺ ţĥē ĝàƥś."],"glVpbE":["Ēàĝēŕ"],"h/qU8b":["Ōvēŕŕĩďē ţĥē ďēƒàũĺţ ",["0"]," ďēvĩćē ƥàţĥ (ďēƒàũĺţś ţō <0>/ďēv/ďŕĩ/ŕēńďēŕĎ128 ōń Ĺĩńũx àńď ƀĺàńķ ōţĥēŕŵĩśē)"],"h4yKYk":["Ńēxţ ŕũń"],"h8WhoR":["Śĺōţ Śćĥēďũĺēŕ"],"hBGuBW":["Ũśē ćĥàńńēĺ ďēƒàũĺţ"],"hBzeL7":["Ţĩḿē ƀēƒōŕē ƒĩŕśţ ƀŕēàķ"],"hG89Ed":["Ĩḿàĝē"],"hISVAG":["Ḿēďĩà Śōũŕćēś àŕē ŵĥēŕē Ţũńàŕŕ śōũŕćēś ŷōũŕ ćōńţēńţ. Ḿēďĩà ćàń ćōḿē ƒŕōḿ ŷōũŕ ƒĩĺēśŷśţēḿ ōŕ à ŕēḿōţē śēŕvēŕ, ĺĩķē Ƥĺēx ōŕ ĵēĺĺŷƒĩń. Àţ ĺēàśţ ōńē Ḿēďĩà Śōũŕćē ĩś ńēćēśśàŕŷ ţō ćŕēàţē ćĥàńńēĺś àńď ƥĺàŷ ḿēďĩà ĩń Ţũńàŕŕ."],"hQRttt":["Śũƀḿĩţ"],"hQSabA":["ŢŌ"],"hXfj39":["Àũďĩō Śàḿƥĺē Ŕàţē"],"hXzOVo":["Ńēxţ"],"hYgDIe":["Ćŕēàţē"],"he3ygx":["Ćōƥŷ"],"hehnjM":["Àḿōũńţ"],"hhukVU":["Ţŕàśĥēď ĩţēḿś àŕē ĩţēḿś ţĥàţ ŵēŕē ƥŕēvĩōũśĺŷ śćàńńēď, ƀũţ ńōţ ƒōũńď ĩń à ŕēćēńţ śćàń. Ţĥĩś ćōũĺď ƀē ďũē ţō ḿĩśśĩńĝ ƒĩĺēś ōŕ à ḿēďĩà śēŕvēŕ ńō ĺōńĝēŕ ŕēţũŕńĩńĝ ţĥē ĩţēḿ ƒŕōḿ ĩţś ÀƤĨ. Ţĥēśē ĩţēḿś ŵĩĺĺ ƀē ũńƥĺàŷàƀĺē ĩń ćĥàńńēĺś ĩń ţĥēĩŕ ćũŕŕēńţ śţàţē. Ŵĥēń ţĥē ţŕàśĥ ĩś ēḿƥţĩēď, ţĥēĩŕ śƥōţś ĩń ćĥàńńēĺś ŵĩĺĺ ƀē ŕēƥĺàćēď ŵĩţĥ ƒĺēx."],"hjerov":["Ĝũĩďē Śţàŕţ Ţĩḿē"],"hlIKor":["Ńōńē:"],"hnFEC+":["Ĩńĩţĩàĺ Ďēĺàŷ + Ĩńţēŕvàĺ"],"hrdWlG":["Àďď Śĥōŵ"],"hvo+jE":["Àďď ƥōĩńţ (%)"],"i1+yww":["ƑƑƥŕōƀē vēŕśĩōń 6.0+ ŕēćōḿḿēńďēď. Ćĥēćķ ŷōũŕ ćũŕŕēńţ vēŕśĩōń ĩń ţĥē śĩďēƀàŕ"],"i2QuB6":["Ēŕŕōŕ Śćŕēēń"],"i9rcQ/":["Ḿōvĩēś"],"iH8pgl":["ßàćķ"],"iQWhqk":["ƑƑḾƤĒĜ ĩś ĩńśţàĺĺēď. Ďēţēćţēď vēŕśĩōń ",["0"]],"iTjV+L":["À-Ź (ďēść)"],"ih+n6S":["Ĺĩńēàŕ"],"ihCTE6":["Ēŕŕōŕ ōććũŕŕēď ŵĥĩĺē ĺōàďĩńĝ ćĥàńńēĺś, ƥĺēàśē ţŕŷ àĝàĩń śōōń."],"ihn4zD":["Śēàŕćĥ…"],"ilkCYA":[["0","plural",{"one":["Śēĺēćţēď Ĩţēḿ"],"other":["Śēĺēćţēď Ĩţēḿś"]}]],"imrPBy":["Ŵàţēŕḿàŕķ Ĩḿàĝē ŨŔĹ"],"isC0OF":["Ũśē ţĥēśē śēţţĩńĝś ţō ōvēŕŕĩďē ĝĺōƀàĺ ƒƒḿƥēĝ śēţţĩńĝś ƒōŕ ţĥĩś ćĥàńńēĺ."],"isRobC":["Ńēŵ"],"isyw73":["Àũţō ũśēś ţĥē ţĩḿē ćōńvēńţĩōń ƒōŕ ţĥē śēĺēćţēď ĺàńĝũàĝē."],"jETaUB":["ßũƒƒēŕ śĩźē ēƒƒēćţś ĥōŵ ƒŕēǫũēńţĺŷ ƒƒḿƥēĝ ŕēćōńśĩďēŕś ţĥē ōũţƥũţ ƀĩţŕàţē. <0>Ŕēàď ḿōŕē"],"jHjfnS":["Àďď ƒĩĺĺēŕ"],"jZlrte":["Ćōĺōŕ"],"jl3Q84":["Ćŕēàţē à Ćĥàńńēĺ"],"jz1oG0":["Śēĺēćţēď Àũďĩō"],"k6TRai":["ƑƑḾƤĒĜ ţŕàńśćōďĩńĝ ĩś ŕēǫũĩŕēď ƒōŕ śōḿē ƒēàţũŕēś ĺĩķē ćĥàńńēĺ ōvēŕĺàŷ, śũƀţĩţĺēś, àńď ḿēàśũŕēś ţō ƥŕēvēńţ ĩśśũēś ŵĥēń śŵĩţćĥĩńĝ ēƥĩśōďēś."],"kAidIP":["Ƒàĩĺēď ţō ĺōàď ƒēàţũŕē ƒĺàĝś."],"kBJRjR":["Ďōŵńĺōàď àĺĺ ĺōĝś"],"kIYDzY":["Śũććēśśƒũĺĺŷ ũƥďàţēď Ḿēďĩà Śōũŕćē śēţţĩńĝś."],"kKgsI0":["<0>Ćōńƒĩĝũŕē ţĥē ďĩŕēćţōŕŷ ŵĥēŕē Ţũńàŕŕ ŵŕĩţēś ĤĹŚ śēĝḿēńţ ƒĩĺēś ŵĥēń ţŕàńśćōďĩńĝ. Ţũńàŕŕ ŵĩĺĺ ćŕēàţē ţĥē ţàŕĝēţ ďĩŕēćţōŕŷ (ƀũţ ńōţ ĩńţēŕḿēďĩàţē ďĩŕēćţōŕĩēś) ĩƒ ĩţ ďōēśń\'ţ ēxĩśţ.<1/>Ćĥàńĝĩńĝ ţĥĩś ƒĩēĺď ŵĩĺĺ ōńĺŷ àƒƒēćţ ńēŵ śēśśĩōńś. Ēxĩśţĩńĝ śēśśĩōńś ŵĩĺĺ ćōńţĩńũē ŵŕĩţĩńĝ ţō ţĥē ƥŕēvĩōũś śēţţĩńĝ, ƀũţ ŵĩĺĺ ćĺēàń ōũţ śēĝḿēńţś ŵĥēń ţĥē śēĝḿēńţ ēńďś.<2/>Ŵĥēń ũńśēţ, Ţũńàŕŕ ŵĩĺĺ ŵŕĩţē śēĝḿēńţś ţō ĩţś ćũŕŕēńţ ŵōŕķĩńĝ ďĩŕēćţōŕŷ."],"kKk153":["Ĺōàď Śţŕēàḿ"],"kO0aVB":["ßŕēàķ Ďũŕàţĩōń (ḿĩńũţēś)"],"kThBL9":["Śàḿƥĺē ŕàţē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō"],"kdkZBD":["Ĩńćŕēḿēńţ"],"kii1WH":["Ƥŕōĝŕàḿḿĩńĝ Ƥŕēvĩēŵ"],"kolyzq":["Ţĥĩś ",["0"]," ĩś ḿàŕķēď àś ḿĩśśĩńĝ ĩń ţĥē ďàţàƀàśē."],"kpfZ0g":["Ḿĩńĩḿũḿ Ƥŕōĝŕàḿ Ďũŕàţĩōń (ḿĩńũţēś)"],"kq6sAD":["Àďď ŢV Śĥōŵś ōŕ Ḿōvĩēś ţō ƒĩĺĺēŕ"],"ksFZi3":["<0>Ēxƥēŕĩḿēńţàĺ: Ēńàƀĺē Ƥĺēx Ŕēǫũēśţ Ćàćĥē"],"kvMAno":["Ŵēƀ Śēţţĩńĝś"],"l/UFPv":["Ƥŕōƥēŕţĩēś"],"l0VyMh":["Ƒĺēx"],"l15zKW":["Àĺĺ Śēţ!"],"lBADOx":[["count","plural",{"one":["#"," ēƥĩśōďē"],"other":["#"," ēƥĩśōďēś"]}]],"lC2oeQ":["Ḿàx Ďũŕàţĩōń (ḿĩńũţēś)"],"lCF0wC":["Ŕēƒŕēśĥ"],"lIUgjN":["Ēŕŕōŕ ćōƥŷĩńĝ ćĥàńńēĺ ḿ3ũ ĺĩńķ ţō ćĺĩƥƀōàŕď"],"lJSUC1":["Ŵàţēŕḿàŕķ"],"lKCfnI":["Àũďĩō Ĺàńĝũàĝē Ƥŕēƒēŕēńćēś"],"lS14fB":["Ţĥēḿē Śēţţĩńĝś"],"lW3FB1":["Ďōŵńĺōàď ĺàśţ ",["0"]," ",["1","plural",{"one":["#"," ŕōŵ"],"other":["#"," ŕōŵś"]}]],"lWmRHf":["Ţĩḿē Śĺōţś..."],"lZMqZ5":["Ĩƒ ēńàƀĺēď, ŢV śĥōŵ ēƥĩśōďēś ŵĩĺĺ ũśē ţĥē ƥōśţēŕ ōƒ ţĥēĩŕ śĥōŵ, ĩńśţēàď ōƒ ţĥē ĩńďĩvĩďũàĺ ēƥĩśōďē ƥōśţēŕ."],"laQT4o":["Ţĥũḿƀńàĩĺ ŨŔĹ"],"lfFsZ4":["Ćĥàńńēĺś"],"lkz6PL":["Ďũŕàţĩōń"],"llDXYJ":["ßàćķũƥś"],"lnABVQ":["Ŕũń Ţŕōũƀĺēśĥōōţēŕ"],"m+8qnB":["Ĺĩƀŕàŕŷ: ",["0"]],"m0Gp21":["Śēĺēćţ à ƥŕōĝŕàḿ àńď ćĥàńńēĺ ţō ţēśţ ƥĺàŷƀàćķ. Ţĥē ţŕōũƀĺēśĥōōţēŕ ŵĩĺĺ àńàĺŷźē śţŕēàḿ śēĺēćţĩōń, ƀũĩĺď ţĥē ƑƑḿƥēĝ ƥĩƥēĺĩńē, àńď ŕũń à śĥōŕţ ţēśţ ţŕàńśćōďē."],"m16xKo":["Àďď"],"m48LOH":["Ĥàŕďŵàŕē Àććēĺēŕàţĩōń"],"mCB6Je":["Śēĺēćţ Àĺĺ"],"mDcLzR":["Ćàćĥĩńĝ"],"mF+u2B":["Ďōń\'ţ śēē ţĥē ĺĩƀŕàŕŷ ŷōũ ŵàńţ ĥēŕē? Ēńśũŕē ĩţ ĩś ēńàƀĺēď ĩń ţĥē <0>Ḿēďĩà Śōũŕćē Śēţţĩńĝś."],"mGM6Aa":["Ćũśţōḿ Śĥōŵś àŕē śēǫũēńćēś ōƒ vĩďēōś ţĥàţ ŕēƥŕēśēńţ à ēƥĩśōďēś ōƒ à vĩŕţũàĺ ŢV śĥōŵ. Ŵĥēń ŷōũ àďď ţĥēśē śĥōŵś ţō à ćĥàńńēĺ, ţĥē śćĥēďũĺē ţōōĺś ŵĩĺĺ ţŕēàţ ţĥē vĩďēōś àś ĩƒ ţĥēŷ ƀēĺōńĝēď ţō à śĩńĝĺē ŢV śĥōŵ."],"mHTMS1":["Ńōŕḿàĺĩźē Ƒŕàḿē Ŕàţē"],"mQt7fl":[["count","plural",{"one":["ƥŕōĝŕàḿ"],"other":["ƥŕōĝŕàḿś"]}]],"mRWiYM":["Ďũŕàţĩōń (śēćōńďś)"],"mWbpso":["Ḿàx ßàćķũƥś"],"mYBORk":["Ḿōvĩē"],"mYJG1x":["Ŷōũŕ ĺĩśţ ŵĩĺĺ ƀē ŕēƥĺĩćàţēď ",["0"]," ţĩḿēś"],"mZFYjJ":["Ēŕŕōŕ śàvĩńĝ ƥŕōĝŕàḿś. ",["0"]],"mZFr14":["ĤĹŚ ńōţ śũƥƥōŕţēď ĩń ţĥĩś ƀŕōŵśēŕ!"],"md42bg":["Ţŕàńśćōďē Ćōńƒĩĝ (ōƥţĩōńàĺ ōvēŕŕĩďē)"],"mgcp8D":["Ĥōŵ ōƒţēń ţō ĩńśēŕţ à ƀŕēàķ"],"migeCK":["Ƒĩĺţēŕ ŵĥĩćĥ śũƀţĩţĺē ţŕàćķś àŕē ćōńśĩďēŕēď<0/><1>Àńŷ: Àĺĺ śũƀţĩţĺē ţŕàćķś àŕē ćōńśĩďēŕēď <2/><3>Ƒōŕćēď: Ōńĺŷ ćōńśĩďēŕ <4>\\"ƒōŕćēď\\"śũƀţĩţĺē ţŕàćķś <5/><6>Ďēƒàũĺţ: Ōńĺŷ ćōńśĩďēŕ ďēƒàũĺţ śũƀţĩţĺē ţŕàćķś <7/><8>Ńōńē: Ďō ńōţ śēĺēćţ àńŷ śũƀţĩţĺēś"],"mtQjGe":["Ćōńƒĩĝũŕē śũƀţĩţĺē ƥŕēƒēŕēńćēś. Ƥŕēƒēŕēńćēś àŕē ēvàĺũàţēď ĩń ōŕďēŕ ōƒ ƥŕĩōŕĩţŷ. Ţĥē ƒĩŕśţ ḿàţćĥĩńĝ śũƀţĩţĺē śţŕēàḿ ōń à ƥŕōĝŕàḿ ŵĩĺĺ ƀē ũśēď."],"mvU6s8":["Śōŕţ ŢV Śĥōŵś"],"mwtge0":["Śţàŕţēď ",["startedAgo"]," - ",["remainingTime"],"ŕēḿàĩńĩńĝ"],"n+7HJk":["Ŵĥēń ƒĩĺē ƥàţĥś ōń ţĥē ŕēḿōţē śēŕvēŕ ďĩƒƒēŕ ƒŕōḿ ţĥē ƥàţĥś Ţũńàŕŕ ćàń śēē, ũśē Ƥàţĥ Ŕēƥĺàćēḿēńţś ţō ĩńśţŕũćţ Ţũńàŕŕ ĥōŵ ţō śţŕēàḿ ḿēďĩà ƒŕōḿ ďĩśķ."],"n9nSNJ":["Ţĩḿē ƒōŕḿàţ"],"nH6YaM":["Ōţĥēŕ Vĩďēōś"],"nSW2Lv":[["days","plural",{"one":["#"," ďàŷ"],"other":["#"," ďàŷś"]}]],"nV6twc":["Ōŕĝàńĩźē"],"nYD/Cq":["Àśćēńďĩńĝ"],"nZXc7r":["Ũńĺĩńķ ƒŕōḿ ĝŕōũƥ"],"nfAddt":["ƑƑḿƥēĝ Ţŕàńśćōďē Ƥàţĥ"],"nfxRnc":["Ţũńàŕŕ ĩś ćũŕŕēńţĺŷ ćōńƒĩĝũŕēď ţō ũśē ţĥē ÀĆ3 àũďĩō ēńćōďēŕ. Ţĥĩś àũďĩō ƒōŕḿàţ ĩś ńōţ śũƥƥōŕţēď ƀŷ ƀŕōŵśēŕś. Ţĥē ŕēśũĺţàńţ śţŕēàḿ ŵĩĺĺ ĺĩķēĺŷ ńōţ ĥàvē àũďĩō ōŕ ŵĩĺĺ ńōţ ƥĺàŷ àţ àĺĺ."],"njIcYs":["Śàvē àś ńēŵ ćōĺĺēćţĩōń…"],"ntJ9rt":["ĤĹŚ Ďĩŕēćţ Ōũţƥũţ Ƒōŕḿàţ"],"nzDzPp":["ţōĝĝĺē àććēśś ţōķēń vĩśĩƀĩĺĩţŷ"],"o0+Ul2":["Àďď Ƒĺēx"],"o2Ucvk":["Ĺĩƀŕàŕĩēś"],"o6OQlp":["Ēďĩţ Ćĥàńńēĺ"],"o7J4JM":["Ƒĩĺţēŕ"],"o7Y4WO":["Ēŕŕōŕ śàvĩńĝ ńēŵ Ēḿƀŷ śēŕvēŕ. Śēē ƀŕōŵśēŕ ćōńśōĺē àńď śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś"],"oADXRC":["Ćàĺćũĺàţēď ",["humanizedDuration"]," (",["numShows"]," ƥŕōĝŕàḿś) ōƒ ƥŕōĝŕàḿḿĩńĝ ĩń ",["duration"],"ḿś"],"oCHfGC":["Ĺēvēĺ"],"oCpfQF":["Ţĥĩś ƒēàţũŕē ĩś ćũŕŕēńţĺŷ ēxƥēŕĩḿēńţàĺ. Ƥŕōćēēď ŵĩţĥ ćàũţĩōń àńď ĩƒ ŷōũ ēxƥēŕĩēńćē àń ĩśśũē, ţŕŷ ďĩśàƀĺĩńĝ ćàćĥĩńĝ."],"oEZmaP":[["count","plural",{"one":["#"," śēàśōń"],"other":["#"," śēàśōńś"]}]],"oMA2jd":["Ŕēḿōvēś àńŷ śƥēćĩàĺś ƒŕōḿ ţĥē śćĥēďũĺē. Śƥēćĩàĺś àŕē ēƥĩśōďēś ŵĩţĥ śēàśōń \'00\'."],"oPWgse":["Ḿàxĩḿũḿ ńũḿƀēŕ ōƒ ƀŕēàķś ƥēŕ ƥŕōĝŕàḿ (0 = ũńĺĩḿĩţēď)"],"ofUcbc":["Ŕàńďōḿ"],"oihuQr":["Ńũḿƀēŕ ōƒ Ŕēƥĺĩćàţĩōńś"],"ousf2V":["Ŕàńďōḿ…"],"ovBPCi":["Ďēƒàũĺţ"],"oxvBx3":["Ĩƒ śēţ, àńŷ ƥŕōĝŕàḿḿĩńĝ ĝŕōũƥ ŵĩţĥ ƒēŵēŕ ēƥĩśōďēś ŵĩĺĺ ƀē ĺōōƥēď ĩń ōŕďēŕ ţō ḿàķē ƥēŕƒēćţĺŷ ēvēń ƀĺōćķś."],"p/78dY":["Ƥōśĩţĩōń"],"p/KgUp":["Ţĥē ćĥàńńēĺ\'ś ŕēĝũĺàŕ ƥŕōĝŕàḿḿĩńĝ ƀēţŵēēń ţĥē śƥēćĩƒĩēď ĥōũŕś. Ƒĺēx ţĩḿē ŵĩĺĺ ƒĩĺĺ ũƥ ţĥē ŕēḿàĩńĩńĝ ĥōũŕś."],"p04z/V":["# Ƥŕōĝŕàḿś"],"p4XZFD":["Ĺōćàĺ Ƥàţĥ"],"pDwcFl":["Śàvē Śḿàŕţ Ćōĺĺēćţĩōń"],"pKYBXC":["Ĺàśţ Śćĥēďũĺēď Ēxēćũţĩōń"],"paEQ75":["\\"Śţēàĺţĥ\\" ćĥàńńēĺś àŕē ĥĩďďēń ƒŕōḿ ŢV ĝũĩďēś, śƥōōƒēď ĤĎĤŔ, ḿ3ũ ƥĺàŷĺĩśţ, ēţć. Ţĥē ćĥàńńēĺ ćàń śţĩĺĺ ƀē śţŕēàḿēď ďĩŕēćţĺŷ ōŕ ƀē ũśēď àś à ŕēďĩŕēćţ ţàŕĝēţ."],"pcRxi1":["Ĥōŵ ƒŕēǫũēńţĺŷ ĺĩƀŕàŕĩēś śĥōũĺď ƀē śćàńńēď (śţàŕţĩńĝ ƒŕōḿ ḿĩďńĩĝĥţ)."],"pdlmIS":["<0>Ēŕŕōŕ ďēĺēţĩńĝ ƒĩĺĺēŕ ĺĩśţ: ",["0"],"<1/>Ƥĺēàśē ćōńśĩďēŕ ōƥēńĩńĝ à ƀũĝ ŵĩţĥ ďēţàĩĺś!"],"pkERVr":["Ďōŵńĺōàď ĵŚŌŃ"],"pqarBu":["Àść"],"pvnfJD":["Ďàŕķ"],"pwPreK":["Ŕēśţŕĩćţ Ĥōũŕś"],"pxh+PI":["ßũĩĺďēŕ"],"q6GKgP":["VÀÀƤĨ Ćàƥàƀĩĺĩţĩēś"],"q6nlo/":["Śũƀţĩţĺē Àćţĩōń"],"q9p3Xw":["ßĩţŕàţē ćàńńōţ ƀē ćĥàńĝēď ŵĥēń ćōƥŷĩńĝ ĩńƥũţ àũďĩō"],"qAGp2O":["Ƥŕōćēēď"],"qG6T/X":["Àďď Ƥŕōĝŕàḿḿĩńĝ"],"qKNcv7":["Ĝēńēŕàţĩńĝ ßũĝ Ŕēƥōŕţ Ĺĩńķ..."],"qV9xkb":["Ƥàśśţĥŕōũĝĥ àũďĩō ũńćĥàńĝēď. Ōţĥēŕ śēţţĩńĝś ŵĩĺĺ ńōţ àƥƥĺŷ."],"qiXmlF":["Àďď Ḿēďĩà"],"qjW34v":["Ţĥĩś ćĥàńńēĺ ĩś śēţ ũƥ ţō ũśē <0>",["0"],"Śĺōţś ƒōŕ ƥŕōĝŕàḿḿĩńĝ. Àńŷ ḿàńũàĺ ćĥàńĝēś ōń ţĥĩś ƥàĝē ŵĩĺĺ ĺĩķēĺŷ ḿàķē ţĥĩś ćĥàńńēĺ śţōƥ àďĥēŕĩńĝ ţō ţĥàţ śćĥēďũĺē."],"qlR1dD":["Ďēĺēţē Ćĥàńńēĺ \\"",["0"],"\\"?"],"qs/mhD":["Ēńśũŕēś ƥŕōĝŕàḿś śţàŕţ ōńĺŷ àţ à ƥàŕţĩćũĺàŕ ĩńţēŕvàĺ ŵĩţĥĩń ţĥē ĥōũŕ. Ţĥĩś ḿàķēś ƒōŕ ńĩćē ĺōōķĩńĝ śćĥēďũĺēś. Ƒĺēx ţĩḿē ĩś śćĥēďũĺēď ţō ƒàćĩĺĩţàţē."],"r3ptXC":["Ḿàńũàĺĺŷ àďď àń àććēśś ţōķēń ƒŕōḿ ŷōũŕ ĵēĺĺŷƒĩń śēŕvēŕ"],"r9sc/0":["Ďũŕàţĩōń ḿũśţ ƀē ńũḿēŕĩć"],"rAx5u1":["Ēńď Ţĩḿē"],"rPEEWz":["Śũććēśśƒũĺĺŷ śàvēď ćōńƒĩĝ!"],"rSZlvN":["Ƥŕōĝŕàḿḿĩńĝ Śţàŕţ"],"rhEkXj":["Ĥēàď"],"rl/8FN":["Ćōḿḿĩţ"],"rnbEQB":["Ćōƥŷ Ḿ3Ũ ŨŔĹ"],"roIf2/":["Ōń-Ďēḿàńď?"],"rtDDIV":["Ēďĩţ Śĺōţ"],"ru5qTc":["Ēďĩţ Ḿēďĩà Śōũŕćē"],"rx5Ria":["Àĺĺ ĺĩśţś àŕē ũśēď"],"rxumR2":["Ḿàţćĥ àńŷ ōƒ"],"s2OE0W":["Ēńţēŕ à ńàḿē ƒōŕ ŷōũŕ ĵēĺĺŷƒĩń Śēŕvēŕ"],"s4iETe":["Ţŕàńśćōďē Ćōńƒĩĝ"],"s6lNC3":["Ƒàĺĺƀàćķ Ḿōďē"],"s8zbIS":["Ĩńćĺũďē Śēàśōńś"],"sA8Jt7":["Ţĥĩś śĺōţ ŕēƥĺàŷś ćōńţēńţ àĩŕēď ƀŷ ćōńţĩńũē śĺōţś ēàŕĺĩēŕ ĩń ţĥē ƥēŕĩōď."],"sBJ5MF":["Śōũŕćēś"],"sNnXh6":["Ōŕďēŕ ōƒ ƥŕōĝŕàḿḿĩńĝ ŵĩţĥĩń ţĥē śĺōţ"],"sUtIRs":["àƀōũţ "],"sVVcvs":["Ēxƥēŕĩḿēńţàĺ Ƒēàţũŕēś"],"sfbjgG":["Àũďĩō Ƒōŕḿàţ"],"sxkWRg":["Àďvàńćēď"],"sxwNOp":["Ĺōĝś Ďĩŕēćţōŕŷ:"],"sztQMJ":["Ƥŕōĝŕàḿś à Ƒĺēx ţĩḿē śĺōţ. Ńōŕḿàĺĺŷ ŷōũ\'ď ũśē ƥàď ţĩḿēś, ŕēśţŕĩćţ ţĩḿēś ōŕ àďď ƀŕēàķś ţō àďď à ĺàŕĝē ǫũàńţĩţŷ ōƒ Ƒĺēx ţĩḿēś àţ ōńćē, ƀũţ ţĥĩś ēxĩśţś ƒōŕ ḿōŕē śƥēćĩƒĩć ćàśēś."],"t/YqKh":["Ŕēḿōvē"],"t3hvHq":["Śŷńć Ńōŵ"],"t5q6kk":["Ƒōŕ ḿōŕē ďēţàĩĺś ōń ḿàńũàĺĺŷ ŕēţŕĩēvĩńĝ à Ƥĺēx ţōķēń, śēē <0>ĥēŕē"],"t6+QCF":[["count"]," ",["programLabel"],", ",["0"]],"t8Hzw3":["Ćŷćĺĩć Śĥũƒƒĺē ŕàńďōḿĺŷ śĥũƒƒĺēś ĝŕōũƥś ōƒ ƥŕōĝŕàḿḿĩńĝ."],"tDuQbQ":["Śţŕēàḿ Ḿōďē"],"tEvsql":["Śũƀţĩţĺēś"],"tH1aCG":["Vĩďēō ßĩţŕàţē"],"tMxWK0":["Àďďś Ƒĺēx ƀŕēàķś àƒţēŕ ēàćĥ ŢV ēƥĩśōďē ōŕ ḿōvĩē ţō ēńśũŕē ţĥàţ ţĥē ƥŕōĝŕàḿ śţàŕţś àţ ōńē ōƒ ţĥē àĺĺōŵēď ḿĩńũţē ḿàŕķś. Ƒōŕ ēxàḿƥĺē, ŷōũ ćàń ũśē ţĥĩś ţō ēńśũŕē ţĥàţ àĺĺ ŷōũŕ ƥŕōĝŕàḿś śţàŕţ àţ ēĩţĥēŕ XX:00 ţĩḿēś ōŕ XX:30 ţĩḿēś. Ŕēḿōvēś àńŷ ēxĩśţĩńĝ Ƒĺēx ƥēŕĩōďś ƀēƒōŕē àďďĩńĝ ţĥē ńēŵ ōńēś. Ţĥĩś ƀũţţōń ḿĩĝĥţ ƀē ďĩśàƀĺēď ĩƒ ţĥē ćĥàńńēĺ ĩś àĺŕēàďŷ ţōō ĺàŕĝē."],"tPGTPB":["Ŕōĺĺ ţĥē ĺōĝ ƒĩĺē ōń à ƒĩxēď śćĥēďũĺē, ŕēĝàŕďĺēśś ōƒ ƒĩĺē śĩźē."],"tRgOE5":["ßàĺàńćē Ƥŕōĝŕàḿḿĩńĝ"],"tXkhj/":["Śţàŕţ"],"tXub8j":["Ďĩśƥĺàŷ Ŵàţēŕḿàŕķ ōń Ĺēàďĩńĝ Ēďĝē"],"tYuxvA":["ƑƑḾƤĒĜ"],"tfDRzk":["Śàvē"],"tgPwON":["Ōƥēŕàţōŕ"],"ti6ugP":["Ēŕŕōŕ ŵĥĩĺē śàvĩńĝ ţŕàńśćōďē ćōńƒĩĝ. Śēē ćōńśōĺē ĺōĝ ƒōŕ ďēţàĩĺś."],"tkDYSE":[["hours","plural",{"one":["#"," ĥōũŕ"],"other":["#"," ĥōũŕś"]}]],"tlMRNb":["Ţĥē ĺōàďēď vēŕśĩōń ōƒ ţĥē Ţũńàŕŕ ŨĨ ďōēś ńōţ ḿàţćĥ ţĥē śēŕvēŕ. Ŕēĺōàď ţĥē ƀŕōŵśēŕ ţō ĝēţ ţĥē ĺàţēśţ. Ĩƒ ţĥĩś ḿēśśàĝē ƥēŕśĩśţś, ćĺēàŕ ŷōũŕ ƀŕōŵśēŕ ćàćĥē àńď ŕēĺōàď."],"tlNobE":["Ćũśţōḿ Śĥōŵ: ",["0"]],"tlmh8e":["Àďď àĺĺ śēĺēćţēď ƥŕōĝŕàḿś ţō ćĥàńńēĺ"],"tsqRRB":[["0"]," Ƥōśţēŕ"],"ty8rVI":["Ńōŵ Ƥĺàŷĩńĝ:"],"tzwArf":["Vĩēŵ ĩń ",["0"]],"u+VWhB":["Ćōƥĩēď ţō ćĺĩƥƀōàŕď!"],"u+zFIr":["Ŕēśţŕĩćţ śēàŕćĥ ƒĩēĺďś"],"uAQUqI":["Śţàţũś"],"uHTa9V":["Ţō ũśē Ţũńàŕŕ, ŷōũ ńēēď ţō ƒĩŕśţ ćōńńēćţ à ḿēďĩà śōũŕćē. Ţĥĩś ŵĩĺĺ àĺĺōŵ ŷōũ ţō ƀũĩĺď ćũśţōḿ ćĥàńńēĺś ŵĩţĥ ŷōũŕ ćōńţēńţ."],"uLiDe/":["Ēńàƀĺē ēḿƀēďďēď śũƀţĩţĺē ēxţŕàćţĩōń"],"uUTf8r":["Ďēĺēţē Ćũśţōḿ Śĥōŵ \\"",["0"],"\\"?"],"uamufO":["Àďď ŢV Śĥōŵś ōŕ Ḿōvĩēś ţō ƥŕōĝŕàḿḿĩńĝ ĺĩśţ."],"ueG1bp":["Ƥŕōĝŕàḿ Ćōũńţ"],"ueLbrY":["Ĩƒ ţŕũē, àďĴũśţĩńĝ ţĥē ŵēĩĝĥţ ōƒ ōńē śĺōţ ŵĩĺĺ śćàĺē ţĥē ŵēĩĝĥţś ōƒ ōţĥēŕ śĺōţś śũćĥ ţĥàţ àĺĺ ŵēĩĝĥţś ţōţàĺ 100%. Ōţĥēŕŵĩśē, ŵēĩĝĥţś ćàń ƀē àďĴũśţēď ƒŕēēĺŷ àńď ţĥē ŵēĩĝĥţ ōƒ ēàćĥ śĺōţ ĩś ōńĺŷ ŕēĺàţĩvē ţō ţĥē ţōţàĺ ŵēĩĝĥţ."],"uixVel":["ßŷ ďēƒàũĺţ, śàvēś ƀàćķũƥś ĩń ţĥē śēŕvēŕ\'ś ŕũń ďĩŕēćţōŕŷ, ōŕ, ĩƒ ŕũńńĩńĝ ĩń Ďōćķēŕ, ţō /ćōńƒĩĝ/ţũńàŕŕ/ƀàćķũƥś"],"uyR9ei":["ßĺōćķ Śĥũƒƒĺē"],"v4nbQ4":["Ĩƒ ńō ḿōŕē ƥŕōĝŕàḿś ćàń ƒĩţ ĩńţō à ďũŕàţĩōń-ƀàśēď śĺōţ, ƒĺēx ţĩḿē ĩś àďďēď ţō ƒĩĺĺ ţĥē ĝàƥ. Ţĥĩś śēţţĩńĝ ďēţēŕḿĩńēś ĥōŵ ƒĺēx ĩś àďďēď <0>ŵĩţĥĩń ţĥē śĺōţ ţō ēńśũŕē àĺĺ ţĩḿē ĩś ƒĩĺĺēď.<1/><2>ßēţŵēēń: Ƒĺēx ţĩḿē ĩś àďďēď ƀēţŵēēń vĩďēōś ŵĩţĥĩń à śĺōţ, ĩƒ ţĥēŕē àŕē ḿũĺţĩƥĺē<3/><4>Ēńď: Ƒĺēx ţĩḿē ĩś àďďēď àţ ţĥē ēńď ōƒ ţĥē śĺōţ"],"v5IstB":["àƒţēŕ ēvēŕŷ ƥŕōĝŕàḿ"],"v5URfV":["Ĺĩķē Ŕàńďōḿ Śĥũƒƒĺē, ƀũţ ţŕĩēś ţō ƥŕēśēŕvē ţĥē śēǫũēńćē ōƒ ēƥĩśōďēś ƒōŕ ēàćĥ ŢV śĥōŵ. Ĩƒ à ŢV śĥōŵ ĥàś ḿũĺţĩƥĺē ĩńśţàńćēś ōƒ ĩţś ēƥĩśōďēś, ţĥēŷ àŕē àĺśō ćŷćĺēď àƥƥŕōƥŕĩàţēĺŷ."],"vAK/B1":["Àũďĩō Àćţĩōń"],"vCBet9":["Ńōţ à vàĺĩď ńũḿƀēŕ"],"vERlcd":["Ƥŕōƒĩĺē"],"vGRvxs":["Ćĥàńńēĺ ĝŕōũƥ ĩś ŕēǫũĩŕēď"],"vLf7qg":["Ĩńţēŕvàĺ (ḿĩńũţēś)"],"vSJd18":["Vĩďēō"],"vU/Hht":["Ďĩśţŕĩƀũţĩōń"],"vXIe7J":["Ĺàńĝũàĝē"],"vcvFVw":["Ēśćàƥē Ĥàţćĥēś"],"vkA4W/":["Śōũŕćē Ţŷƥē"],"vn3SVH":["Ćōũĺď ńōţ ƥàŕśē ţĥĩś ƒĩĺţēŕ ēxƥŕēśśĩōń. Ćĥēćķ ţĥē <0>ďōćũḿēńţàţĩōń ƒōŕ ĩńƒōŕḿàţĩōń àƀōũţ ƒĩĺţēŕ ēxƥŕēśśĩōńś."],"vreTxe":[["count","plural",{"one":["#"," ƥŕōĝŕàḿ"],"other":["#"," ƥŕōĝŕàḿś"]}]],"vwFKu0":["Ćàśţ & Ćŕēŵ"],"vyL1gO":["Ŕēĺēàśē Ďàţē (ďēść)"],"w/bY7R":["Ĺōĝś"],"w2pCRr":["Śĥōŵ:"],"w3KBq0":["Àĺĺōŵś ƥŕōĝŕàḿś ţō ƥĺàŷ à ƀĩţ ĺàţē ĩƒ ţĥē ƥŕēvĩōũś ƥŕōĝŕàḿ ţōōķ ĺōńĝēŕ ţĥàń ũśũàĺ. Ĩƒ à ƥŕōĝŕàḿ ĩś ţōō ĺàţē, Ƒĺēx ĩś śćĥēďũĺēď ĩńśţēàď."],"w3g+lo":["Ĺēţ\'ś ĝēţ śţàŕţēď..."],"wBmIEf":["Ńũḿƀēŕ ōƒ ĥōũŕś ţō ĩńćĺũďē ĩń ţĥē XḾĹŢV ƒĩĺē"],"wBo/7A":["Ēŕŕōŕ ŵĥĩĺē śćĥēďũĺĩńĝ ",["taskId"],". Ćĥēćķ śēŕvēŕ ĺōĝś ƒōŕ ďēţàĩĺś"],"wKClDM":["Àďďś à ćĥàńńēĺ ŕēďĩŕēćţ. Ďũŕĩńĝ ţĥĩś ƥēŕĩōď ōƒ ţĩḿē, ţĥē ćĥàńńēĺ ŵĩĺĺ ŕēďĩŕēćţ ţō àńōţĥēŕ ćĥàńńēĺ."],"wMHvYH":["Vàĺũē"],"wOUKOZ":["Ḿàx Ţŕũē Ƥēàķ"],"wZOYCY":["Vĩďēō Ƒōŕḿàţ"],"wdfBIP":["Śōŕţ ßŷ..."],"wdxz7K":["Śōũŕćē"],"wkQ2tb":["Àďďś Ƒĺēx ƀŕēàķś àƒţēŕ ēàćĥ ŢV ēƥĩśōďē ōŕ ḿōvĩē ţō ēńśũŕē ţĥàţ ţĥē ƥŕōĝŕàḿ śţàŕţś àţ ōńē ōƒ ţĥē àĺĺōŵēď ḿĩńũţē ḿàŕķś."],"wlYdUk":[["count","plural",{"one":["ĥōũŕ"],"other":["ĥōũŕś"]}]],"wpT1VN":["Ćōńďĩţĩōń"],"wtuVU4":["Ƒŕēǫũēńćŷ"],"wwu18a":["Ĩćōń"],"x+AjXa":["Ćĥàńńēĺ Ƒàĺĺƀàćķ"],"x/dwZe":["Ēńàƀĺē ĩƒ ţĥē ŵàţēŕḿàŕķ ĩś àń àńĩḿàţēď ĜĨƑ ōŕ ƤŃĜ. Ţĥē ŵàţēŕḿàŕķ ŵĩĺĺ ĺōōƥ àććōŕďĩńĝ ţō ţĥē ĩḿàĝē\'ś ćōńƒĩĝũŕàţĩōń. Ĩƒ ţĥĩś ōƥţĩōń ĩś ēńàƀĺēď àńď ţĥē ĩḿàĝē ĩś ńōţ àńĩḿàţēď, ţĥēŕē ŵĩĺĺ ƀē ƥĺàŷƀàćķ ēŕŕōŕś."],"x1tGMH":["Ōvēŕŕĩďē ĥōŵ ƥŕōĝŕàḿś ŵĩţĥĩń ţĥĩś śĺōţ àŕē ƥàďďēď."],"x6/Zc6":["Ţàĩĺ"],"x63PSs":["Śēàŕćĥ ƒōŕ śĥōŵś"],"x7PDL5":["Ĺōĝĝĩńĝ"],"xCJdfg":["Ćĺēàŕ"],"xDAtGP":["Ḿēśśàĝē"],"xDPFrK":["Śćàń ",["0"]],"xGVfLh":["Ćōńţĩńũē"],"xGYZfl":["Ēďĩţ Ĺĩƀŕàŕĩēś"],"xIn7qU":["Ďĩśàƀĺē Ĥàŕďŵàŕē Ďēćōďĩńĝ"],"xJIepX":["Ďēƒàũĺţ Ćōńƒĩĝ"],"xOkMus":["Ĥàŕďŵàŕē Àććēĺ."],"xPmesF":["Ĺōũďńēśś Ŕàńĝē Ţàŕĝēţ"],"xQC5se":["Àďvàńćēď Vĩďēō Ōƥţĩōńś"],"xXrtPO":["Ƒàĩĺēď ţō ĺōàď ĩţēḿ ďēţàĩĺś! Ćĥēćķ ĺōĝś ƒōŕ ďēţàĩĺś"],"xazqmy":["Śēàśōńś"],"xbtgIC":["ĤŴ Àććēĺēŕàţĩōń"],"xdA/+p":["Ţōōĺś"],"xmBknQ":["Ƒĩĺĺēŕ Ĺĩśţś"],"xptXTM":["Śēĺēćţ Àŕţĩśţś ţō Ŕēḿōvē"],"xqIrnW":["Ĺĩƀŕàŕŷ Ćĺĩƥ (ńōţ ŷēţ ĩḿƥĺēḿēńţēď)"],"xu3Kah":[["0","plural",{"one":["#"," ƥŕōĝŕàḿ"],"other":["#"," ƥŕōĝŕàḿś"]}]],"y28hnO":["Ƥōśţ"],"y4Jmre":["ßŕēàķ Ďũŕàţĩōń"],"y4iKY3":[["count","plural",{"one":["#"," àĺƀũḿ"],"other":["#"," àĺƀũḿś"]}]],"y5x0aB":[["0"]," Ĩńƒō"],"y7wpam":[["value","plural",{"one":["#"," ƥŕōĝŕàḿ"],"other":["#"," ƥŕōĝŕàḿś"]}]],"yDUcwc":["Ḿàńũàĺĺŷ àďď àń àććēśś ţōķēń ƒŕōḿ ŷōũŕ Ēḿƀŷ śēŕvēŕ"],"yEDNx2":["Ţũńàŕŕ ŵĩĺĺ ũƥďàţē Ƥĺēx\'ś \\"ńōŵ ƥĺàŷĩńĝ\\" śţàţē ŵĥĩĺē ćĥàńńēĺś àŕē àćţĩvē."],"yPE51X":["Ćōńƒĩĝũŕē ţŕàńśćōďĩńĝ śēţţĩńĝś ƒōŕ Ţũńàŕŕ\'ś śţŕēàḿś. Ēàćĥ ćĥàńńēĺ ĩś àśśĩĝńēď ōńē ţŕàńśćōďē ćōńƒĩĝũŕàţĩōń."],"yPK7+5":["Àũţō-Ũƥďàţē Ĝũĩďē"],"yQE2r9":["Ĺōàďĩńĝ"],"yRkqG9":["Ĺĩḿĩţ"],"yX8Rkw":["Àďď Àĺĺ"],"yftDqj":["Ńēŵ Ƒĩĺĺēŕ Ĺĩśţ"],"yjzkvk":["Śţōƥ Ţŕàńśćōďē Śēśśĩōń"],"ysJk7v":["Ḿōvĩē Śōŕţ Ōŕďēŕ"],"ysecYP":["Śēàŕćĥ ƒōŕ à ƥŕōĝŕàḿ"],"ytXxnP":["Ƒōŕćēď"],"yz/C2/":["Ŕēŕũń"],"yz7wBu":["Ćĺōśē"],"z4K9d+":["Ŕōĺĺ ƀàśēď ōń śĩźē"],"z61uNR":["Àďď Ƒĺēx Ţĩḿē"],"zV6tsp":["Ćōńśōĺĩďàţē"],"zV9awV":["Ƒōŕćē Śćàń"],"zpylsE":["Ţŕàńśćōďĩńĝ Śēţţĩńĝś"],"zrmjn/":["Ḿàx Ďũŕàţĩōń"],"zthKEs":["Ţĥē śţŕēàḿĩńĝ ḿōďē àƒƒēćţś ţĥē ţŷƥē ōƒ ũńďēŕĺŷĩńĝ ţŕàńśćōďĩńĝ ƥŕōćēśś ũśēď ţō ćŕēàţē ţĥē ćĥàńńēĺ\'ś vĩďēō śţŕēàḿ.<0/>Ĺēàŕń ḿōŕē àƀōũţ Ţũńàŕŕ\'ś śţŕēàḿ ḿōďēś <1>ĥēŕē!"],"zvjEp6":["Ƒĩĺĺēŕ ćōōĺďōŵń ḿũśţ ƀē à ńũḿƀēŕ"],"zx4BuL":["Ŵēēķ"],"zyLvkd":["Ćàţēĝōŕŷ Ĺōĝ Ĺēvēĺś"]}', +) as Messages; From 8bc0a760a9b78f6c37482f38f2018d1e3fca0f23 Mon Sep 17 00:00:00 2001 From: Christian Benincasa Date: Sun, 31 May 2026 08:56:51 -0400 Subject: [PATCH 05/13] fix: ensure unseen items from custom show sync are synced in search (#1895) --- .../tunarr-v1.2.0-dev.1-openapi.json | 6 +- server/src/db/CustomShowDB.test.ts | 10 +- server/src/db/CustomShowDB.ts | 119 ++--- .../src/db/program/BasicProgramRepository.ts | 26 + .../services/CustomShowSyncService.test.ts | 480 ++++++++++++++++++ server/src/services/CustomShowSyncService.ts | 207 ++++++-- server/src/services/MeilisearchService.ts | 153 ++++++ .../scanner/EmbyMediaSourceMovieScanner.ts | 7 + .../scanner/EmbyMediaSourceMusicScanner.ts | 7 + .../EmbyMediaSourceMusicVideoScanner.ts | 12 +- .../EmbyMediaSourceOtherVideoScanner.ts | 16 + .../scanner/ExternalCollectionScanner.ts | 15 +- .../JellyfinMediaSourceMovieScanner.ts | 7 + .../JellyfinMediaSourceMusicScanner.ts | 7 + .../JellyfinMediaSourceMusicVideoScanner.ts | 10 +- .../JellyfinMediaSourceOtherVideoScanner.ts | 24 + .../scanner/MediaSourceMovieLibraryScanner.ts | 236 ++++++--- .../scanner/MediaSourceMusicArtistScanner.ts | 73 ++- .../scanner/MediaSourceMusicVideoScanner.ts | 223 +++++--- .../scanner/MediaSourceOtherVideoScanner.ts | 232 ++++++--- .../services/scanner/MediaSourceScanner.ts | 14 + .../MediaSourceTvShowLibraryScanner.ts | 91 +++- .../scanner/PlexMediaSourceMovieScanner.ts | 7 + .../scanner/PlexMediaSourceMusicScanner.ts | 7 + .../PlexMediaSourceOtherVideoScanner.ts | 7 + server/src/util/index.ts | 9 +- types/src/api/index.ts | 5 +- .../custom-shows/EditCustomShowForm.tsx | 38 +- web/src/generated/types.gen.ts | 2 - web/src/hooks/useCustomShows.ts | 38 +- web/src/locales/en/messages.po | 30 +- web/src/locales/es/messages.po | 30 +- web/src/locales/pseudo-LOCALE/messages.po | 30 +- web/src/pages/library/EditCustomShowPage.tsx | 5 +- web/src/pages/library/NewCustomShowPage.tsx | 5 +- web/src/store/selectors.ts | 24 +- web/src/types/index.ts | 5 +- 37 files changed, 1725 insertions(+), 492 deletions(-) create mode 100644 server/src/services/CustomShowSyncService.test.ts diff --git a/docs/generated/tunarr-v1.2.0-dev.1-openapi.json b/docs/generated/tunarr-v1.2.0-dev.1-openapi.json index 936c64bb2..4f96555a2 100644 --- a/docs/generated/tunarr-v1.2.0-dev.1-openapi.json +++ b/docs/generated/tunarr-v1.2.0-dev.1-openapi.json @@ -1 +1,5 @@ -{"openapi":"3.0.3","info":{"title":"Tunarr","description":"Tunarr API","version":"1.2.0-dev.1"},"components":{"schemas":{"TerminalProgramInput":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"$ref":"#/components/schemas/EpisodeInput"},{"$ref":"#/components/schemas/MusicTrackInput"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]}]},"ShowInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"]},"SeasonInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/ShowInput"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"EpisodeInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/SeasonInput"},"show":{"$ref":"#/components/schemas/ShowInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"MusicArtistInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicAlbumInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicTrackInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbumInput"},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"PlexFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"]}]},"SearchFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"]}},"required":["key","type","op","value"]}]}},"required":["type","fieldSpec"]}]},"TerminalProgram":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/MusicTrack"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]},"Show":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Season":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/Show"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Episode":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/Season"},"show":{"$ref":"#/components/schemas/Show"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"MusicArtist":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicAlbum":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"artist":{"$ref":"#/components/schemas/MusicArtist"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicTrack":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbum"},"artist":{"$ref":"#/components/schemas/MusicArtist"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"PlexFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"],"additionalProperties":false}]},"SearchFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"],"additionalProperties":false}},"required":["key","type","op","value"],"additionalProperties":false}]}},"required":["type","fieldSpec"],"additionalProperties":false}]}}},"paths":{"/api/tasks":{"get":{"tags":["System","Tasks"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scheduledTasks":{"type":"array","items":{"type":"object","properties":{"running":{"type":"boolean"},"lastExecution":{"type":"string"},"lastExecutionEpoch":{"type":"number"},"nextExecution":{"type":"string"},"nextExecutionEpoch":{"type":"number"},"args":{"anyOf":[{"anyOf":[{"type":"object","properties":{},"additionalProperties":false},{"type":"string"}]}]}},"required":["running","args"],"additionalProperties":false}}},"required":["id","name","scheduledTasks"],"additionalProperties":false}}}}}}}},"/api/tasks/{id}/run":{"post":{"tags":["System","Tasks"],"requestBody":{"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"}]},"in":"query","name":"background","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels":{"get":{"operationId":"getChannels","tags":["Channels"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"post":{"operationId":"createChannelV2","tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["new"]},"channel":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}},"required":["type","channel"]},{"type":"object","properties":{"type":{"type":"string","enum":["copy"]},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","channelId"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}}}}},"/api/channels/{id}":{"get":{"operationId":"getChannelsByNumberV2","tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/programs":{"get":{"tags":["Channels"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/TerminalProgram"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/shows":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Show"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/artists":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/MusicArtist"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/programming":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}},"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["manual"]},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"]},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"]},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}}}},"required":["type","duration"]}]}},"append":{"default":false,"type":"boolean"}},"required":["type","lineup"]},{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/fallbacks":{"get":{"operationId":"GetChannelFallbacks","tags":["Channels"],"description":"Returns a channel's fallback programs.","parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/all/lineups":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/lineup":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/now_playing":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/transcode_config":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/channels/{channelId}/schedule-time-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{channelId}/schedule-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/schedule":{"get":{"tags":["Channels","Scheduling"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id","show"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","channelId","startTime","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","customShowId","order","direction","id","startTime","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"smartCollection":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","type","smartCollectionId","order","direction","id","smartCollection","isMissing"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter","show"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","type","channelId","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]}},"additionalProperties":false}}}}}}},"/api/channels/{id}/native-playback":{"get":{"tags":["Native"],"description":"Returns current and next playback items for native client players (tvOS, Android TV). Includes timing data for live TV simulation.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"channelName":{"type":"string"},"serverTimeMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]},"next":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]}},"required":["channelId","channelNumber","channelName","serverTimeMs","current"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows":{"get":{"tags":["Custom Shows"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"post":{"operationId":"createCustomShow","tags":["Custom Shows"],"description":"Creates a new Custom Show","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name","syncMediaSourceId","syncMediaSourceType","syncExternalPlaylistId"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"/api/custom-shows/{id}":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Custom Shows"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"enableSync":{"type":"boolean"}},"required":["enableSync"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"deleteCustomShow","tags":["Custom Shows"],"description":"Delets a custom show with the given ID","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/programs":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/sync":{"post":{"operationId":"syncCustomShow","tags":["Custom Shows"],"description":"Triggers an immediate sync for a custom show linked to an external playlist","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists":{"get":{"tags":["Filler Lists"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}}}}},"post":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}},"required":["name","programs"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}}}}},"/api/filler-lists/{id}":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists/{id}/programs":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"restrictSearchTo":{"type":"array","items":{"type":"string"}},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilterInput"},{"nullable":true,"enum":[null]}]},"sort":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","sortTitle","duration","originalReleaseDate","originalReleaseYear","addedAt","index"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]}},{"nullable":true,"enum":[null]}]}}},"restrictSeachTo":{"type":"array","items":{"type":"string"}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"expandParents":{"type":"boolean"}},"required":["query"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}}},"/api/programs/{id}/descendants":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/facets/{facetName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/SearchFilterInput"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}}},"/api/programs/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/program_groupings/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]}},{"type":"string"}]},"in":"query","name":"fallbackArtworkTypes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/programs/{id}/stream_details":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/children":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"channelId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["season"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Season"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["album"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicAlbum"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["episode"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Episode"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["track"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicTrack"}}},"required":["type","programs"],"additionalProperties":false}]},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/thumb":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"width","required":false},{"schema":{"type":"number"},"in":"query","name":"height","required":false},{"schema":{"default":true,"type":"boolean"},"in":"query","name":"upscale","required":false},{"schema":{"default":"proxy","type":"string","enum":["proxy","redirect"]},"in":"query","name":"method","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"useShowPoster","required":false},{"schema":{"default":"program","type":"string","enum":["program","grouping"]},"in":"query","name":"type","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/external-link":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":true,"type":"boolean"},"in":"query","name":"forward","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}},"302":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programming/{externalId}":{"get":{"operationId":"getProgramByExternalId","tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"externalId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/programming/batch/lookup":{"post":{"operationId":"batchGetProgramsByExternalIds","tags":["Programs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TerminalProgram"}}}}}}}},"/api/programming/shows/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"includeEpisodes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/seasons/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/shows/{id}/seasons":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/scan":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}}}}},"/api/media-sources":{"get":{"tags":["Media Source"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","pathReplacements","type","mediaType","paths"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{mediaSourceId}":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}":{"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-libraries/{libraryId}":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked","mediaSource"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-libraries/{libraryId}/programs":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{mediaSourceId}/{libraryId}/status":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","enum":["in_progress"]},"startedAt":{"type":"number"},"percentComplete":{"type":"number","minimum":0,"maximum":100}},"required":["state","startedAt","percentComplete"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["not_scanning"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["queued"]}},"required":["state"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/refresh":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/status":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"}},"required":["healthy"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/foreignstatus":{"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"accessToken":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby"]},"username":{"type":"string"}},"required":["accessToken","uri","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"paths":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["type","paths"]}],"required":["true"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"healthy":{"type":"boolean","enum":[true]}},"required":["healthy"],"additionalProperties":false},{"type":"object","properties":{"healthy":{"type":"boolean","enum":[false]},"status":{"type":"string","enum":["unreachable","auth","timeout","bad_response","unknown"]}},"required":["healthy","status"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}":{"delete":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","username","type","index"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","pathReplacements","type","mediaType","paths"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"]}}},"required":["preferences"]},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ffmpegPath":{"type":"string"}},"required":["ffmpegPath"]}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/transcode_configs":{"get":{"tags":["Settings","Transcode Configs"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"post":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/transcode_configs/{id}":{"get":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}},"delete":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/transcode_configs/{id}/copy":{"post":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/plex-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/xmltv-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/hdhr-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}}},"/api/system/health":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["healthy"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["info","warning","error"]},"context":{"type":"string"}},"required":["type","context"],"additionalProperties":false}]}}}}}}}},"/api/system/settings":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]}},"required":["rolledFileLimit"]},"categoryLogLevel":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},{"type":"null"}]}}}},"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}}},"server":{"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}}}},"required":["searchSettings"]}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}}},"/api/system/state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isDocker":{"type":"boolean"},"isPodman":{"type":"boolean"},"isInContainer":{"type":"boolean"}},"required":["isDocker","isPodman","isInContainer"],"additionalProperties":false}}}}}}},"/api/system/migration-state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"legacyMigration":{"default":false,"description":"Whether a legacy migration was performed","type":"boolean"},"isFreshSettings":{"default":true,"type":"boolean"},"hasMigratedTo1_0":{"default":false,"type":"boolean"}},"required":["legacyMigration","hasMigratedTo1_0"],"additionalProperties":false}}}}}}},"/api/system/fixers/{fixerId}/run":{"post":{"tags":["System"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"fixerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/settings/backup":{"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false}}}}}}},"/api/system/feature-flags":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}}},"/api/system/debug/nvidia":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/vaapi":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/logs/stream":{"get":{"parameters":[{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/logs":{"get":{"tags":["System","Logs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"download","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"lineLimit","required":false},{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/env":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/system/debug/loggers":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/guide/status":{"get":{"tags":["Guide"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/debug":{"get":{"tags":["Debug"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/channels":{"get":{"tags":["Guide"],"parameters":[{"schema":{},"in":"query","name":"dateFrom","required":true},{"schema":{},"in":"query","name":"dateTo","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/guide/channels/{id}":{"get":{"tags":["Guide"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"dateFrom","required":true},{"schema":{"type":"string"},"in":"query","name":"dateTo","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/plex/{mediaSourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"query","name":"searchParam","required":false},{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/MusicTrack"},{"$ref":"#/components/schemas/MusicAlbum"},{"$ref":"#/components/schemas/MusicArtist"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/plex/{mediaSourceId}/libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/collections":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/filters":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Meta":{"type":"object","properties":{"Type":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["movie","show","artist","photo","track","episode","season","album","folder"]},"title":{"type":"string"},"active":{"type":"boolean"},"Filter":{"type":"array","items":{"type":"object","properties":{"filter":{"type":"string"},"filterType":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"advanced":{"type":"boolean"}},"required":["filter","filterType","key","title","type"],"additionalProperties":false}},"Sort":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean"},"activeDirection":{"type":"string"},"default":{"type":"string"},"defaultDirection":{"type":"string"},"descKey":{"type":"string"},"firstCharacterKey":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["defaultDirection","descKey","key","title"],"additionalProperties":false}},"Field":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["key","title","type"],"additionalProperties":false}}},"required":["key","type","title","active"],"additionalProperties":false}},"FieldType":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"Operator":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["type","Operator"],"additionalProperties":false}}},"required":["Type","FieldType"],"additionalProperties":false}},"required":["Meta"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/tags":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"libraryKey","required":true},{"schema":{"type":"string"},"in":"query","name":"itemKey","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"size":{"type":"number"},"Directory":{"type":"array","items":{"type":"object","properties":{"fastKey":{"type":"string"},"thumb":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["size","Directory"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/items/{itemId}/children":{"get":{"parameters":[{"schema":{"type":"string","enum":["item","collection","playlist"]},"in":"query","name":"parentType","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}}}}}}}},"/api/jellyfin/login":{"post":{"operationId":"jellyfinLogin","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/user_libraries":{"get":{"operationId":"getJellyfinLibraries","parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/genres":{"get":{"operationId":"getJellyfinLibraryGenres","parameters":[{"schema":{"type":"string"},"in":"query","name":"includeItemTypes","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Items":{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"OriginalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ServerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"},"Etag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SourceType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PlaylistItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DateCreated":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"DateLastMediaAdded":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExtraType":{"anyOf":[{"type":"string","enum":["Unknown","Clip","Trailer","BehindTheScenes","DeletedScene","Interview","Scene","Sample","ThemeSong","ThemeVideo","Featurette","Short"]},{"nullable":true,"enum":[null]}]},"AirsBeforeSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsAfterSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsBeforeEpisodeNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CanDelete":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"CanDownload":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasLyrics":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasSubtitles":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"PreferredMetadataLanguage":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PreferredMetadataCountryCode":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ForcedSortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"PremiereDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExternalUrls":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Url":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaSources":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Protocol":{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},"Id":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderPath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderProtocol":{"anyOf":[{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Default","Grouping","Placeholder"]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Size":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsRemote":{"type":"boolean"},"ETag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ReadAtNativeFramerate":{"type":"boolean"},"IgnoreDts":{"type":"boolean"},"IgnoreIndex":{"type":"boolean"},"GenPtsInput":{"type":"boolean"},"SupportsTranscoding":{"type":"boolean"},"SupportsDirectStream":{"type":"boolean"},"SupportsDirectPlay":{"type":"boolean"},"IsInfiniteStream":{"type":"boolean"},"RequiresOpening":{"type":"boolean"},"OpenToken":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RequiresClosing":{"type":"boolean"},"LiveStreamId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BufferMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiresLooping":{"type":"boolean"},"SupportsProbing":{"type":"boolean"},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaAttachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"FileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Formats":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Bitrate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiredHttpHeaders":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"TranscodingUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TranscodingContainer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AnalyzeDurationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultAudioStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultSubtitleStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"CriticRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ProductionLocations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EnableMediaSourceDisplay":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"OfficialRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CustomRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Overview":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Taglines":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Genres":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"CommunityRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"CumulativeRunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProductionYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsPlaceHolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Number":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelNumber":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IndexNumberEnd":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ParentIndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProviderIds":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"IsHD":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsFolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ParentId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]},"People":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string"},"Role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Backdrop":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Primary":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Logo":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Thumb":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]}},"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["Name","Id"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Studios":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"GenreItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"ParentLogoItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"LocalTrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RecursiveItemCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ChildCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeasonId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SpecialFeatureCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DisplayPreferencesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Status":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AirTime":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"PrimaryImageAspectRatio":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Artists":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ArtistItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Album":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CollectionType":{"anyOf":[{"type":"string","enum":["unknown","movies","tvshows","music","musicvideos","trailers","homevideos","boxsets","books","photos","livetv","playlists","folders"]},{"nullable":true,"enum":[null]}]},"DisplayOrder":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtist":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtists":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"SeasonName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"PartCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MediaSourceCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ImageTags":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"BackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ScreenshotImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ParentLogoImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Primary":{"type":"object","additionalProperties":{"type":"string"}},"Art":{"type":"object","additionalProperties":{"type":"string"}},"Backdrop":{"type":"object","additionalProperties":{"type":"string"}},"Banner":{"type":"object","additionalProperties":{"type":"string"}},"Logo":{"type":"object","additionalProperties":{"type":"string"}},"Thumb":{"type":"object","additionalProperties":{"type":"string"}},"Disc":{"type":"object","additionalProperties":{"type":"string"}},"Box":{"type":"object","additionalProperties":{"type":"string"}},"Screenshot":{"type":"object","additionalProperties":{"type":"string"}},"Menu":{"type":"object","additionalProperties":{"type":"string"}},"Chapter":{"type":"object","additionalProperties":{"type":"string"}},"BoxRear":{"type":"object","additionalProperties":{"type":"string"}},"Profile":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"nullable":true,"enum":[null]}]},"SeriesStudio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"StartPositionTicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImagePath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageDateModified":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"ImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"MediaType":{"type":"string","enum":["Unknown","Video","Audio","Photo","Book"]},"EndDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"TrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MovieCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProgramCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"EpisodeCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SongCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AlbumCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ArtistCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MusicVideoCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"LockData":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CameraMake":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CameraModel":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Software":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ExposureTime":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"FocalLength":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Aperture":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ShutterSpeed":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Latitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Longitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Altitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsoSpeedRating":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesTimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProgramId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"StartDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"CompletionPercentage":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsRepeat":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"EpisodeTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsMovie":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSports":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSeries":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsLive":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsNews":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsKids":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsPremiere":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"TimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NormalizationGain":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Id","Type","MediaType"],"additionalProperties":false}},"TotalRecordCount":{"type":"number"},"StartIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Items","TotalRecordCount"],"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"operationId":"getJellyfinLibraryItems","parameters":[{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AirTime","CanDelete","CanDownload","ChannelInfo","Chapters","Trickplay","ChildCount","CumulativeRunTimeTicks","CustomRating","DateCreated","DateLastMediaAdded","DisplayPreferencesId","Etag","ExternalUrls","Genres","HomePageUrl","ItemCounts","MediaSourceCount","MediaSources","OriginalTitle","OfficialRating","Overview","ParentId","Path","People","PlayAccess","ProductionLocations","ProviderIds","PrimaryImageAspectRatio","RecursiveItemCount","Settings","ScreenshotImageTags","SeriesPrimaryImage","SeriesStudio","SortName","SpecialEpisodeNumbers","Studios","Taglines","Tags","RemoteTrailers","MediaStreams","SeasonUserData","ServiceName","ThemeSongIds","ThemeVideoIds","ExternalEtag","PresentationUniqueKey","InheritedParentalRatingValue","ExternalSeriesId","SeriesPresentationUniqueKey","DateLastRefreshed","DateLastSaved","RefreshState","ChannelImage","EnableMediaSourceDisplay","Width","Height","ExtraIds","LocalTrailerCount","IsHD","SpecialFeatureCount"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Default","AiredEpisodeOrder","Album","AlbumArtist","Artist","DateCreated","OfficialRating","DatePlayed","PremiereDate","StartDate","SortName","Name","Random","Runtime","CommunityRating","ProductionYear","PlayCount","CriticRating","IsFolder","IsUnplayed","IsPlayed","SeriesSortName","VideoBitRate","AirTime","Studio","IsFavoriteOrLiked","DateLastContentAdded","SeriesDatePlayed","ParentIndexNumber","IndexNumber","SimilarityScore","SearchScore"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/sessions":{"get":{"tags":["Sessions"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}}}}}},"/api/channels/{id}/sessions":{"get":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}},"201":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/emby/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/emby/{mediaSourceId}/user_libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/emby/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Budget","Chapters","ChildCount","DateCreated","Genres","HomePageUrl","IndexOptions","MediaStreams","Overview","ParentId","Path","People","ProviderIds","PrimaryImageAspectRatio","Revenue","SortName","Studios","Taglines","Etag","Tags","ProductionYear","PremiereDate","MediaSources","OfficialRating"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Album","AlbumArtist","Artist","Budget","CommunityRating","CriticRating","DateCreated","DatePlayed","PlayCount","PremiereDate","ProductionYear","SortName","Random","Revenue","Runtime","IsFolder"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Artist","AlbumArtist"]}}]},"in":"query","name":"artistType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/settings/media-source":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles":{"get":{"tags":["Stream Selection"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}},"usedByChannels":{"type":"number"},"usedByFillers":{"type":"number"},"usedByPrograms":{"type":"number"}},"required":["uuid","name","rules","usedByChannels","usedByFillers","usedByPrograms"],"additionalProperties":false}}}}}}},"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles/{id}":{"get":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/stream-selection-profiles/validate-expression":{"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"}},"required":["expression"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[true]}},"required":["valid"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["valid"],"additionalProperties":false}}}}}}},"/api/troubleshoot":{"post":{"tags":["Troubleshoot"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"testDurationSeconds":{"default":30,"type":"number","minimum":5,"maximum":120}},"required":["programId","channelId"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"systemInfo":{"type":"object","properties":{"tunarrVersion":{"type":"string"},"ffmpegVersion":{"type":"string"},"nodeVersion":{"type":"string"},"platform":{"type":"string"},"arch":{"type":"string"},"availableHwAccels":{"type":"array","items":{"type":"string"}}},"required":["tunarrVersion","ffmpegVersion","nodeVersion","platform","arch","availableHwAccels"],"additionalProperties":false},"mediaInfo":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"duration":{"type":"number"},"sourceType":{"type":"string"},"streamSourceType":{"type":"string"},"streamSourcePath":{"type":"string"},"videoStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"framerate":{"type":"string"},"pixelFormat":{"type":"string"},"bitDepth":{"type":"number"},"colorRange":{"type":"string"},"colorSpace":{"type":"string"},"colorTransfer":{"type":"string"},"colorPrimaries":{"type":"string"},"sampleAspectRatio":{"type":"string"},"displayAspectRatio":{"type":"string"},"bitrate":{"type":"number"}},"required":["index","codec","width","height"],"additionalProperties":false}},"audioStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false}},"subtitleStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false}}},"required":["title","type","duration","videoStreams","audioStreams","subtitleStreams"],"additionalProperties":false},"transcodeConfig":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false},"channelConfig":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},"streamSelection":{"type":"object","properties":{"profileName":{"type":"string"},"profileSource":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string"},"matched":{"type":"boolean"},"audioAction":{"type":"string"},"subtitleAction":{"type":"string"}},"required":["condition","matched"],"additionalProperties":false}},"selectedAudioStream":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false},"selectedSubtitleStream":{"anyOf":[{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"subtitleReason":{"type":"string"}},"required":["rules"],"additionalProperties":false},"pipeline":{"type":"object","properties":{"hardwareAccelMode":{"type":"string"},"builderType":{"type":"string"},"pipelineSteps":{"type":"array","items":{"type":"string"}},"ffmpegArgs":{"type":"array","items":{"type":"string"}},"ffmpegArgsString":{"type":"string"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"}}},"required":["hardwareAccelMode","builderType","pipelineSteps","ffmpegArgs","ffmpegArgsString","environmentVariables"],"additionalProperties":false},"testTranscode":{"type":"object","properties":{"exitCode":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"signal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"success":{"type":"boolean"},"stderrOutput":{"type":"string"},"durationProcessed":{"type":"string"},"hlsSessionId":{"type":"string"}},"required":["exitCode","signal","success","stderrOutput"],"additionalProperties":false},"ffmpegLog":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string"}},"required":["systemInfo","errors","timestamp"],"additionalProperties":false}}}}}}},"/api/trash":{"get":{"parameters":[{"schema":{"type":"array","items":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]}},"in":"query","name":"itemTypes","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/smart_collections":{"get":{"tags":["Smart Collections"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}}}}},"post":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["name","keywords"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/smart_collections/{id}":{"get":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["actor"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["writer"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["director"]}},"required":["name","type"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/program_groupings/batch/lookup":{"post":{"operationId":"batchGetProgramGroupingsByExternalIds","tags":["Program Groupings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}}}}}},"/api/version":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tunarr":{"type":"string"},"ffmpeg":{"type":"string"},"nodejs":{"type":"string"}},"required":["tunarr","ffmpeg","nodejs"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-info":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"audioEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"videoEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"hardwareAccelerationTypes":{"type":"array","items":{"type":"string"}}},"required":["audioEncoders","videoEncoders","hardwareAccelerationTypes"],"additionalProperties":false}}}}}}},"/api/upload/image":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"fileUrl":{"type":"string"}},"required":["name","fileUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/xmltv-last-refresh":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv.xml":{"head":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/channels.m3u":{"head":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["Streaming"],"description":"Clears the channels m3u cache","responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ffmpeg/playlist":{"get":{"tags":["Streaming"],"description":"Return a playlist in ffconcat file format for the given channel","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"channel","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}":{"get":{"tags":["Streaming"],"parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.ts":{"get":{"tags":["Streaming"],"description":"Returns a continuous, direct MPEGTS video stream for the given channel","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.m3u8":{"head":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}/item-stream.ts":{"get":{"tags":["Native"],"description":"Returns a finite MPEG-TS stream for the single lineup item that started at time t (epoch ms). Stream closes cleanly at EOF when the item ends.","parameters":[{"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"in":"query","name":"t","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}}},"servers":[],"tags":[{"name":"Channels"},{"name":"Custom Shows"},{"name":"Filler Lists"},{"name":"Guide"},{"name":"Media Source"},{"name":"Programs"},{"name":"Sessions"},{"name":"Streaming"},{"name":"HDHR"},{"name":"Settings"},{"name":"System"},{"name":"Tasks"},{"name":"Debug"}]} \ No newline at end of file +<<<<<<< HEAD +{"openapi":"3.0.3","info":{"title":"Tunarr","description":"Tunarr API","version":"1.2.0-dev.1"},"components":{"schemas":{"TerminalProgramInput":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"$ref":"#/components/schemas/EpisodeInput"},{"$ref":"#/components/schemas/MusicTrackInput"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]}]},"ShowInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"]},"SeasonInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/ShowInput"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"EpisodeInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/SeasonInput"},"show":{"$ref":"#/components/schemas/ShowInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"MusicArtistInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicAlbumInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicTrackInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbumInput"},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"PlexFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"]}]},"SearchFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"]}},"required":["key","type","op","value"]}]}},"required":["type","fieldSpec"]}]},"TerminalProgram":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/MusicTrack"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]},"Show":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Season":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/Show"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Episode":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/Season"},"show":{"$ref":"#/components/schemas/Show"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"MusicArtist":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicAlbum":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"artist":{"$ref":"#/components/schemas/MusicArtist"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicTrack":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbum"},"artist":{"$ref":"#/components/schemas/MusicArtist"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"PlexFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"],"additionalProperties":false}]},"SearchFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"],"additionalProperties":false}},"required":["key","type","op","value"],"additionalProperties":false}]}},"required":["type","fieldSpec"],"additionalProperties":false}]}}},"paths":{"/api/tasks":{"get":{"tags":["System","Tasks"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scheduledTasks":{"type":"array","items":{"type":"object","properties":{"running":{"type":"boolean"},"lastExecution":{"type":"string"},"lastExecutionEpoch":{"type":"number"},"nextExecution":{"type":"string"},"nextExecutionEpoch":{"type":"number"},"args":{"anyOf":[{"anyOf":[{"type":"object","properties":{},"additionalProperties":false},{"type":"string"}]}]}},"required":["running","args"],"additionalProperties":false}}},"required":["id","name","scheduledTasks"],"additionalProperties":false}}}}}}}},"/api/tasks/{id}/run":{"post":{"tags":["System","Tasks"],"requestBody":{"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"}]},"in":"query","name":"background","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels":{"get":{"operationId":"getChannels","tags":["Channels"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"post":{"operationId":"createChannelV2","tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["new"]},"channel":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}},"required":["type","channel"]},{"type":"object","properties":{"type":{"type":"string","enum":["copy"]},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","channelId"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}}}}},"/api/channels/{id}":{"get":{"operationId":"getChannelsByNumberV2","tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/programs":{"get":{"tags":["Channels"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/TerminalProgram"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/shows":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Show"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/artists":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/MusicArtist"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/programming":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}},"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["manual"]},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"]},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"]},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}}}},"required":["type","duration"]}]}},"append":{"default":false,"type":"boolean"}},"required":["type","lineup"]},{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/fallbacks":{"get":{"operationId":"GetChannelFallbacks","tags":["Channels"],"description":"Returns a channel's fallback programs.","parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/all/lineups":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/lineup":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/now_playing":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/transcode_config":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/channels/{channelId}/schedule-time-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{channelId}/schedule-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/schedule":{"get":{"tags":["Channels","Scheduling"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id","show"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","channelId","startTime","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","customShowId","order","direction","id","startTime","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"smartCollection":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","type","smartCollectionId","order","direction","id","smartCollection","isMissing"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter","show"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","type","channelId","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]}},"additionalProperties":false}}}}}}},"/api/channels/{id}/native-playback":{"get":{"tags":["Native"],"description":"Returns current and next playback items for native client players (tvOS, Android TV). Includes timing data for live TV simulation.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"channelName":{"type":"string"},"serverTimeMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]},"next":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]}},"required":["channelId","channelNumber","channelName","serverTimeMs","current"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows":{"get":{"tags":["Custom Shows"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"post":{"operationId":"createCustomShow","tags":["Custom Shows"],"description":"Creates a new Custom Show","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name","syncMediaSourceId","syncMediaSourceType","syncExternalPlaylistId"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"/api/custom-shows/{id}":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Custom Shows"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"enableSync":{"type":"boolean"}},"required":["enableSync"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"deleteCustomShow","tags":["Custom Shows"],"description":"Delets a custom show with the given ID","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/programs":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/sync":{"post":{"operationId":"syncCustomShow","tags":["Custom Shows"],"description":"Triggers an immediate sync for a custom show linked to an external playlist","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists":{"get":{"tags":["Filler Lists"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}}}}},"post":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}},"required":["name","programs"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}}}}},"/api/filler-lists/{id}":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists/{id}/programs":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"restrictSearchTo":{"type":"array","items":{"type":"string"}},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilterInput"},{"nullable":true,"enum":[null]}]},"sort":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","sortTitle","duration","originalReleaseDate","originalReleaseYear","addedAt","index"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]}},{"nullable":true,"enum":[null]}]}}},"restrictSeachTo":{"type":"array","items":{"type":"string"}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"expandParents":{"type":"boolean"}},"required":["query"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}}},"/api/programs/{id}/descendants":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/facets/{facetName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/SearchFilterInput"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}}},"/api/programs/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/program_groupings/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]}},{"type":"string"}]},"in":"query","name":"fallbackArtworkTypes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/programs/{id}/stream_details":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/children":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"channelId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["season"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Season"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["album"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicAlbum"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["episode"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Episode"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["track"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicTrack"}}},"required":["type","programs"],"additionalProperties":false}]},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/thumb":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"width","required":false},{"schema":{"type":"number"},"in":"query","name":"height","required":false},{"schema":{"default":true,"type":"boolean"},"in":"query","name":"upscale","required":false},{"schema":{"default":"proxy","type":"string","enum":["proxy","redirect"]},"in":"query","name":"method","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"useShowPoster","required":false},{"schema":{"default":"program","type":"string","enum":["program","grouping"]},"in":"query","name":"type","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/external-link":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":true,"type":"boolean"},"in":"query","name":"forward","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}},"302":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programming/{externalId}":{"get":{"operationId":"getProgramByExternalId","tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"externalId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/programming/batch/lookup":{"post":{"operationId":"batchGetProgramsByExternalIds","tags":["Programs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TerminalProgram"}}}}}}}},"/api/programming/shows/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"includeEpisodes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/seasons/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/shows/{id}/seasons":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/scan":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}}}}},"/api/media-sources":{"get":{"tags":["Media Source"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["name","pathReplacements","uri","accessToken","userId","username","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","pathReplacements","type","mediaType","paths"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{mediaSourceId}":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}":{"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-libraries/{libraryId}":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","libraries","pathReplacements","uri","userId","sendPlayStatusUpdates","username","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked","mediaSource"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-libraries/{libraryId}/programs":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{mediaSourceId}/{libraryId}/status":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","enum":["in_progress"]},"startedAt":{"type":"number"},"percentComplete":{"type":"number","minimum":0,"maximum":100}},"required":["state","startedAt","percentComplete"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["not_scanning"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["queued"]}},"required":["state"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/refresh":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/status":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"}},"required":["healthy"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/foreignstatus":{"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"accessToken":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby"]},"username":{"type":"string"}},"required":["accessToken","uri","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"paths":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["type","paths"]}],"required":["true"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"healthy":{"type":"boolean","enum":[true]}},"required":["healthy"],"additionalProperties":false},{"type":"object","properties":{"healthy":{"type":"boolean","enum":[false]},"status":{"type":"string","enum":["unreachable","auth","timeout","bad_response","unknown"]}},"required":["healthy","status"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}":{"delete":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","pathReplacements","uri","userId","username","type","index"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"sendPlayStatusUpdates":{"default":false,"type":"boolean"},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["emby"]}},"required":["id","name","pathReplacements","uri","userId","username","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","pathReplacements","type","mediaType","paths"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"]}}},"required":["preferences"]},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ffmpegPath":{"type":"string"}},"required":["ffmpegPath"]}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/transcode_configs":{"get":{"tags":["Settings","Transcode Configs"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"post":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/transcode_configs/{id}":{"get":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}},"delete":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/transcode_configs/{id}/copy":{"post":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/plex-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/xmltv-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/hdhr-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}}},"/api/system/health":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["healthy"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["info","warning","error"]},"context":{"type":"string"}},"required":["type","context"],"additionalProperties":false}]}}}}}}}},"/api/system/settings":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]}},"required":["rolledFileLimit"]},"categoryLogLevel":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},{"type":"null"}]}}}},"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}}},"server":{"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}}}},"required":["searchSettings"]}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}}},"/api/system/state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isDocker":{"type":"boolean"},"isPodman":{"type":"boolean"},"isInContainer":{"type":"boolean"}},"required":["isDocker","isPodman","isInContainer"],"additionalProperties":false}}}}}}},"/api/system/migration-state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"legacyMigration":{"default":false,"description":"Whether a legacy migration was performed","type":"boolean"},"isFreshSettings":{"default":true,"type":"boolean"},"hasMigratedTo1_0":{"default":false,"type":"boolean"}},"required":["legacyMigration","hasMigratedTo1_0"],"additionalProperties":false}}}}}}},"/api/system/fixers/{fixerId}/run":{"post":{"tags":["System"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"fixerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/settings/backup":{"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false}}}}}}},"/api/system/feature-flags":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}}},"/api/system/debug/nvidia":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/vaapi":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/logs/stream":{"get":{"parameters":[{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/logs":{"get":{"tags":["System","Logs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"download","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"lineLimit","required":false},{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/env":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/system/debug/loggers":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/guide/status":{"get":{"tags":["Guide"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/debug":{"get":{"tags":["Debug"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/channels":{"get":{"tags":["Guide"],"parameters":[{"schema":{},"in":"query","name":"dateFrom","required":true},{"schema":{},"in":"query","name":"dateTo","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/guide/channels/{id}":{"get":{"tags":["Guide"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"dateFrom","required":true},{"schema":{"type":"string"},"in":"query","name":"dateTo","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/plex/{mediaSourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"query","name":"searchParam","required":false},{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/MusicTrack"},{"$ref":"#/components/schemas/MusicAlbum"},{"$ref":"#/components/schemas/MusicArtist"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"artistName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"albumName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/plex/{mediaSourceId}/libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/collections":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/filters":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Meta":{"type":"object","properties":{"Type":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["movie","show","artist","photo","track","episode","season","album","folder"]},"title":{"type":"string"},"active":{"type":"boolean"},"Filter":{"type":"array","items":{"type":"object","properties":{"filter":{"type":"string"},"filterType":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"advanced":{"type":"boolean"}},"required":["filter","filterType","key","title","type"],"additionalProperties":false}},"Sort":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean"},"activeDirection":{"type":"string"},"default":{"type":"string"},"defaultDirection":{"type":"string"},"descKey":{"type":"string"},"firstCharacterKey":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["defaultDirection","descKey","key","title"],"additionalProperties":false}},"Field":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["key","title","type"],"additionalProperties":false}}},"required":["key","type","title","active"],"additionalProperties":false}},"FieldType":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"Operator":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["type","Operator"],"additionalProperties":false}}},"required":["Type","FieldType"],"additionalProperties":false}},"required":["Meta"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/tags":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"libraryKey","required":true},{"schema":{"type":"string"},"in":"query","name":"itemKey","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"size":{"type":"number"},"Directory":{"type":"array","items":{"type":"object","properties":{"fastKey":{"type":"string"},"thumb":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["size","Directory"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/items/{itemId}/children":{"get":{"parameters":[{"schema":{"type":"string","enum":["item","collection","playlist"]},"in":"query","name":"parentType","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}}}}}}}},"/api/jellyfin/login":{"post":{"operationId":"jellyfinLogin","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/user_libraries":{"get":{"operationId":"getJellyfinLibraries","parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/genres":{"get":{"operationId":"getJellyfinLibraryGenres","parameters":[{"schema":{"type":"string"},"in":"query","name":"includeItemTypes","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Items":{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"OriginalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ServerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"},"Etag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SourceType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PlaylistItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DateCreated":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"DateLastMediaAdded":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExtraType":{"anyOf":[{"type":"string","enum":["Unknown","Clip","Trailer","BehindTheScenes","DeletedScene","Interview","Scene","Sample","ThemeSong","ThemeVideo","Featurette","Short"]},{"nullable":true,"enum":[null]}]},"AirsBeforeSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsAfterSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsBeforeEpisodeNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CanDelete":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"CanDownload":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasLyrics":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasSubtitles":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"PreferredMetadataLanguage":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PreferredMetadataCountryCode":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ForcedSortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"PremiereDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExternalUrls":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Url":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaSources":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Protocol":{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},"Id":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderPath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderProtocol":{"anyOf":[{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Default","Grouping","Placeholder"]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Size":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsRemote":{"type":"boolean"},"ETag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ReadAtNativeFramerate":{"type":"boolean"},"IgnoreDts":{"type":"boolean"},"IgnoreIndex":{"type":"boolean"},"GenPtsInput":{"type":"boolean"},"SupportsTranscoding":{"type":"boolean"},"SupportsDirectStream":{"type":"boolean"},"SupportsDirectPlay":{"type":"boolean"},"IsInfiniteStream":{"type":"boolean"},"RequiresOpening":{"type":"boolean"},"OpenToken":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RequiresClosing":{"type":"boolean"},"LiveStreamId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BufferMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiresLooping":{"type":"boolean"},"SupportsProbing":{"type":"boolean"},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaAttachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"FileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Formats":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Bitrate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiredHttpHeaders":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"TranscodingUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TranscodingContainer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AnalyzeDurationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultAudioStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultSubtitleStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"CriticRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ProductionLocations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EnableMediaSourceDisplay":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"OfficialRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CustomRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Overview":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Taglines":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Genres":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"CommunityRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"CumulativeRunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProductionYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsPlaceHolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Number":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelNumber":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IndexNumberEnd":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ParentIndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProviderIds":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"IsHD":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsFolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ParentId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]},"People":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string"},"Role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Backdrop":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Primary":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Logo":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Thumb":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]}},"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["Name","Id"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Studios":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"GenreItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"ParentLogoItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"LocalTrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RecursiveItemCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ChildCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeasonId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SpecialFeatureCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DisplayPreferencesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Status":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AirTime":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"PrimaryImageAspectRatio":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Artists":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ArtistItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Album":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CollectionType":{"anyOf":[{"type":"string","enum":["unknown","movies","tvshows","music","musicvideos","trailers","homevideos","boxsets","books","photos","livetv","playlists","folders"]},{"nullable":true,"enum":[null]}]},"DisplayOrder":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtist":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtists":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"SeasonName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"PartCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MediaSourceCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ImageTags":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"BackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ScreenshotImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ParentLogoImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Primary":{"type":"object","additionalProperties":{"type":"string"}},"Art":{"type":"object","additionalProperties":{"type":"string"}},"Backdrop":{"type":"object","additionalProperties":{"type":"string"}},"Banner":{"type":"object","additionalProperties":{"type":"string"}},"Logo":{"type":"object","additionalProperties":{"type":"string"}},"Thumb":{"type":"object","additionalProperties":{"type":"string"}},"Disc":{"type":"object","additionalProperties":{"type":"string"}},"Box":{"type":"object","additionalProperties":{"type":"string"}},"Screenshot":{"type":"object","additionalProperties":{"type":"string"}},"Menu":{"type":"object","additionalProperties":{"type":"string"}},"Chapter":{"type":"object","additionalProperties":{"type":"string"}},"BoxRear":{"type":"object","additionalProperties":{"type":"string"}},"Profile":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"nullable":true,"enum":[null]}]},"SeriesStudio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"StartPositionTicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImagePath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageDateModified":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"ImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"MediaType":{"type":"string","enum":["Unknown","Video","Audio","Photo","Book"]},"EndDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"TrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MovieCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProgramCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"EpisodeCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SongCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AlbumCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ArtistCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MusicVideoCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"LockData":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CameraMake":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CameraModel":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Software":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ExposureTime":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"FocalLength":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Aperture":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ShutterSpeed":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Latitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Longitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Altitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsoSpeedRating":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesTimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProgramId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"StartDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"CompletionPercentage":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsRepeat":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"EpisodeTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsMovie":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSports":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSeries":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsLive":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsNews":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsKids":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsPremiere":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"TimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NormalizationGain":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Id","Type","MediaType"],"additionalProperties":false}},"TotalRecordCount":{"type":"number"},"StartIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Items","TotalRecordCount"],"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"operationId":"getJellyfinLibraryItems","parameters":[{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AirTime","CanDelete","CanDownload","ChannelInfo","Chapters","Trickplay","ChildCount","CumulativeRunTimeTicks","CustomRating","DateCreated","DateLastMediaAdded","DisplayPreferencesId","Etag","ExternalUrls","Genres","HomePageUrl","ItemCounts","MediaSourceCount","MediaSources","OriginalTitle","OfficialRating","Overview","ParentId","Path","People","PlayAccess","ProductionLocations","ProviderIds","PrimaryImageAspectRatio","RecursiveItemCount","Settings","ScreenshotImageTags","SeriesPrimaryImage","SeriesStudio","SortName","SpecialEpisodeNumbers","Studios","Taglines","Tags","RemoteTrailers","MediaStreams","SeasonUserData","ServiceName","ThemeSongIds","ThemeVideoIds","ExternalEtag","PresentationUniqueKey","InheritedParentalRatingValue","ExternalSeriesId","SeriesPresentationUniqueKey","DateLastRefreshed","DateLastSaved","RefreshState","ChannelImage","EnableMediaSourceDisplay","Width","Height","ExtraIds","LocalTrailerCount","IsHD","SpecialFeatureCount"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Default","AiredEpisodeOrder","Album","AlbumArtist","Artist","DateCreated","OfficialRating","DatePlayed","PremiereDate","StartDate","SortName","Name","Random","Runtime","CommunityRating","ProductionYear","PlayCount","CriticRating","IsFolder","IsUnplayed","IsPlayed","SeriesSortName","VideoBitRate","AirTime","Studio","IsFavoriteOrLiked","DateLastContentAdded","SeriesDatePlayed","ParentIndexNumber","IndexNumber","SimilarityScore","SearchScore"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/sessions":{"get":{"tags":["Sessions"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}}}}}},"/api/channels/{id}/sessions":{"get":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}},"201":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/emby/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/emby/{mediaSourceId}/user_libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/emby/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Budget","Chapters","ChildCount","DateCreated","Genres","HomePageUrl","IndexOptions","MediaStreams","Overview","ParentId","Path","People","ProviderIds","PrimaryImageAspectRatio","Revenue","SortName","Studios","Taglines","Etag","Tags","ProductionYear","PremiereDate","MediaSources","OfficialRating"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Album","AlbumArtist","Artist","Budget","CommunityRating","CriticRating","DateCreated","DatePlayed","PlayCount","PremiereDate","ProductionYear","SortName","Random","Revenue","Runtime","IsFolder"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Artist","AlbumArtist"]}}]},"in":"query","name":"artistType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/settings/media-source":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles":{"get":{"tags":["Stream Selection"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}},"usedByChannels":{"type":"number"},"usedByFillers":{"type":"number"},"usedByPrograms":{"type":"number"}},"required":["uuid","name","rules","usedByChannels","usedByFillers","usedByPrograms"],"additionalProperties":false}}}}}}},"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles/{id}":{"get":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/stream-selection-profiles/validate-expression":{"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"}},"required":["expression"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[true]}},"required":["valid"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["valid"],"additionalProperties":false}}}}}}},"/api/troubleshoot":{"post":{"tags":["Troubleshoot"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"testDurationSeconds":{"default":30,"type":"number","minimum":5,"maximum":120}},"required":["programId","channelId"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"systemInfo":{"type":"object","properties":{"tunarrVersion":{"type":"string"},"ffmpegVersion":{"type":"string"},"nodeVersion":{"type":"string"},"platform":{"type":"string"},"arch":{"type":"string"},"availableHwAccels":{"type":"array","items":{"type":"string"}}},"required":["tunarrVersion","ffmpegVersion","nodeVersion","platform","arch","availableHwAccels"],"additionalProperties":false},"mediaInfo":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"duration":{"type":"number"},"sourceType":{"type":"string"},"streamSourceType":{"type":"string"},"streamSourcePath":{"type":"string"},"videoStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"framerate":{"type":"string"},"pixelFormat":{"type":"string"},"bitDepth":{"type":"number"},"colorRange":{"type":"string"},"colorSpace":{"type":"string"},"colorTransfer":{"type":"string"},"colorPrimaries":{"type":"string"},"sampleAspectRatio":{"type":"string"},"displayAspectRatio":{"type":"string"},"bitrate":{"type":"number"}},"required":["index","codec","width","height"],"additionalProperties":false}},"audioStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false}},"subtitleStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false}}},"required":["title","type","duration","videoStreams","audioStreams","subtitleStreams"],"additionalProperties":false},"transcodeConfig":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false},"channelConfig":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},"streamSelection":{"type":"object","properties":{"profileName":{"type":"string"},"profileSource":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string"},"matched":{"type":"boolean"},"audioAction":{"type":"string"},"subtitleAction":{"type":"string"}},"required":["condition","matched"],"additionalProperties":false}},"selectedAudioStream":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false},"selectedSubtitleStream":{"anyOf":[{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"subtitleReason":{"type":"string"}},"required":["rules"],"additionalProperties":false},"pipeline":{"type":"object","properties":{"hardwareAccelMode":{"type":"string"},"builderType":{"type":"string"},"pipelineSteps":{"type":"array","items":{"type":"string"}},"ffmpegArgs":{"type":"array","items":{"type":"string"}},"ffmpegArgsString":{"type":"string"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"}}},"required":["hardwareAccelMode","builderType","pipelineSteps","ffmpegArgs","ffmpegArgsString","environmentVariables"],"additionalProperties":false},"testTranscode":{"type":"object","properties":{"exitCode":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"signal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"success":{"type":"boolean"},"stderrOutput":{"type":"string"},"durationProcessed":{"type":"string"},"hlsSessionId":{"type":"string"}},"required":["exitCode","signal","success","stderrOutput"],"additionalProperties":false},"ffmpegLog":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string"}},"required":["systemInfo","errors","timestamp"],"additionalProperties":false}}}}}}},"/api/trash":{"get":{"parameters":[{"schema":{"type":"array","items":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]}},"in":"query","name":"itemTypes","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/smart_collections":{"get":{"tags":["Smart Collections"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}}}}},"post":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["name","keywords"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/smart_collections/{id}":{"get":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["actor"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["writer"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["director"]}},"required":["name","type"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/program_groupings/batch/lookup":{"post":{"operationId":"batchGetProgramGroupingsByExternalIds","tags":["Program Groupings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}}}}}},"/api/version":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tunarr":{"type":"string"},"ffmpeg":{"type":"string"},"nodejs":{"type":"string"}},"required":["tunarr","ffmpeg","nodejs"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-info":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"audioEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"videoEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"hardwareAccelerationTypes":{"type":"array","items":{"type":"string"}}},"required":["audioEncoders","videoEncoders","hardwareAccelerationTypes"],"additionalProperties":false}}}}}}},"/api/upload/image":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"fileUrl":{"type":"string"}},"required":["name","fileUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/xmltv-last-refresh":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv.xml":{"head":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/channels.m3u":{"head":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["Streaming"],"description":"Clears the channels m3u cache","responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ffmpeg/playlist":{"get":{"tags":["Streaming"],"description":"Return a playlist in ffconcat file format for the given channel","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"channel","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}":{"get":{"tags":["Streaming"],"parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.ts":{"get":{"tags":["Streaming"],"description":"Returns a continuous, direct MPEGTS video stream for the given channel","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.m3u8":{"head":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}/item-stream.ts":{"get":{"tags":["Native"],"description":"Returns a finite MPEG-TS stream for the single lineup item that started at time t (epoch ms). Stream closes cleanly at EOF when the item ends.","parameters":[{"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"in":"query","name":"t","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}}},"servers":[],"tags":[{"name":"Channels"},{"name":"Custom Shows"},{"name":"Filler Lists"},{"name":"Guide"},{"name":"Media Source"},{"name":"Programs"},{"name":"Sessions"},{"name":"Streaming"},{"name":"HDHR"},{"name":"Settings"},{"name":"System"},{"name":"Tasks"},{"name":"Debug"}]} +======= +{"openapi":"3.0.3","info":{"title":"Tunarr","description":"Tunarr API","version":"1.2.0-dev.1"},"components":{"schemas":{"TerminalProgramInput":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"$ref":"#/components/schemas/EpisodeInput"},{"$ref":"#/components/schemas/MusicTrackInput"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"]}]},"ShowInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"]},"SeasonInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/ShowInput"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"EpisodeInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/SeasonInput"},"show":{"$ref":"#/components/schemas/ShowInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"MusicArtistInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicAlbumInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"]},"MusicTrackInput":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"]}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"]},{"nullable":true,"enum":[null]}]}},"required":["name"]}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"]}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"]}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbumInput"},"artist":{"$ref":"#/components/schemas/MusicArtistInput"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"]}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"]},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"]}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime"]}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"]},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"]},"PlexFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"]}]},"SearchFilterInput":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilterInput"}}},"required":["type","op","children"]},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"]},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"]}},"required":["key","type","op","value"]}]}},"required":["type","fieldSpec"]}]},"TerminalProgram":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/MusicTrack"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]},"Show":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["show"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"seasons":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","genres","artwork","actors","studios","rating","releaseDate","releaseDateString","year","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Season":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["season"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"index":{"type":"number","minimum":0},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"show":{"$ref":"#/components/schemas/Show"},"episodes":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","studios","index","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"Episode":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["episode"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"episodeNumber":{"type":"number","minimum":0},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"seasonId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"showId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"season":{"$ref":"#/components/schemas/Season"},"show":{"$ref":"#/components/schemas/Show"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","episodeNumber","summary","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"MusicArtist":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["artist"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"albums":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicAlbum":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["album"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"childCount":{"type":"number","minimum":0},"grandchildCount":{"type":"number","minimum":0},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"index":{"type":"number"},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"artist":{"$ref":"#/components/schemas/MusicArtist"},"tracks":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","summary","plot","tagline","artwork","year","releaseDate","releaseDateString","mediaSourceId","libraryId","canonicalId","externalId"],"additionalProperties":false},"MusicTrack":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["track"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"trackNumber":{"type":"number","minimum":0},"albumId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"artistId":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"nullable":true,"enum":[null]}]},"album":{"$ref":"#/components/schemas/MusicAlbum"},"artist":{"$ref":"#/components/schemas/MusicArtist"},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","trackNumber","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},"PlexFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"anyOf":[{"type":"string","enum":["or"]},{"type":"string","enum":["and"]}]},"children":{"type":"array","items":{"$ref":"#/components/schemas/PlexFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"field":{"type":"string"},"fieldType":{"type":"string"},"op":{"type":"string"},"value":{"type":"string"}},"required":["type","field","op","value"],"additionalProperties":false}]},"SearchFilter":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["op"]},"op":{"type":"string","enum":["or","and"]},"grouped":{"type":"boolean"},"children":{"type":"array","items":{"$ref":"#/components/schemas/SearchFilter"}}},"required":["type","op","children"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["value"]},"fieldSpec":{"oneOf":[{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["faceted_string"]},"op":{"type":"string","enum":["=","!=","contains","not contains","starts with","in","not in"]},"value":{"type":"array","items":{"type":"string"}}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["numeric"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]}},"required":["key","type","op","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","description":"The actual field path in the search index"},"name":{"description":"The field name. This could be an alias.","type":"string"},"type":{"type":"string","enum":["date"]},"op":{"type":"string","enum":["=","!=","<",">","<=",">=","to","inthelast","notinthelast"]},"value":{"anyOf":[{"type":"number"},{"type":"array","minItems":2,"maxItems":2,"items":{"oneOf":[{"type":"number"},{"type":"number"}]}}]},"relativeDate":{"type":"object","properties":{"op":{"type":"string","enum":["inthelast","notinthelast"]},"amount":{"type":"integer","exclusiveMinimum":true,"maximum":9007199254740991,"minimum":0},"unit":{"type":"string","enum":["day","week","month","year"]}},"required":["op","amount","unit"],"additionalProperties":false}},"required":["key","type","op","value"],"additionalProperties":false}]}},"required":["type","fieldSpec"],"additionalProperties":false}]}}},"paths":{"/api/tasks":{"get":{"tags":["System","Tasks"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scheduledTasks":{"type":"array","items":{"type":"object","properties":{"running":{"type":"boolean"},"lastExecution":{"type":"string"},"lastExecutionEpoch":{"type":"number"},"nextExecution":{"type":"string"},"nextExecutionEpoch":{"type":"number"},"args":{"anyOf":[{"anyOf":[{"type":"object","properties":{},"additionalProperties":false},{"type":"string"}]}]}},"required":["running","args"],"additionalProperties":false}}},"required":["id","name","scheduledTasks"],"additionalProperties":false}}}}}}}},"/api/tasks/{id}/run":{"post":{"tags":["System","Tasks"],"requestBody":{"content":{"application/json":{"schema":{}}}},"parameters":[{"schema":{"default":true,"anyOf":[{"type":"boolean"},{"type":"string"}]},"in":"query","name":"background","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels":{"get":{"operationId":"getChannels","tags":["Channels"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"post":{"operationId":"createChannelV2","tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["new"]},"channel":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}},"required":["type","channel"]},{"type":"object","properties":{"type":{"type":"string","enum":["copy"]},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["type","channelId"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{},"additionalProperties":false}}}}}}},"/api/channels/{id}":{"get":{"operationId":"getChannelsByNumberV2","tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"]}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"]},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"]},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"]}}},"required":["enabled","width","verticalMargin","horizontalMargin"]},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal"]}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","streamMode","transcodeConfigId","subtitlesEnabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/programs":{"get":{"tags":["Channels"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"in":"query","name":"type","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/TerminalProgram"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/shows":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/Show"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/artists":{"get":{"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"$ref":"#/components/schemas/MusicArtist"}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/channels/{id}/programming":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}},"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["manual"]},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"]},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"]},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}}}},"required":["type","duration"]}]}},"append":{"default":false,"type":"boolean"}},"required":["type","lineup"]},{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"programs":{"type":"array","items":{"type":"string"}},"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"}},"required":["type","programs","schedule"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"totalPrograms":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"startTimeOffsets":{"type":"array","items":{"type":"number"}},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","direction","id","startTime"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","smartCollectionId","order","direction","id"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","durationSpec","weight","type","channelId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]},"dynamicContentConfig":{"type":"object","properties":{"contentSources":{"minItems":1,"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["plex"]},"plexServerId":{"type":"string","minLength":1},"plexLibraryKey":{"type":"string","minLength":1},"search":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/PlexFilter"},"sort":{"type":"object","properties":{"field":{"type":"string"},"direction":{"anyOf":[{"type":"string","enum":["asc"]},{"type":"string","enum":["desc"]}]}},"required":["field","direction"],"additionalProperties":false},"limit":{"type":"number","minimum":0}},"additionalProperties":false},"updater":{"oneOf":[{"type":"object","properties":{"_id":{"type":"string"},"type":{"type":"string","enum":["cron"]},"schedule":{"type":"string"}},"required":["_id","type","schedule"],"additionalProperties":false}]},"enabled":{"default":true,"type":"boolean"}},"required":["type","plexServerId","plexLibraryKey","updater","enabled"],"additionalProperties":false}]}},"enabled":{"default":true,"type":"boolean"}},"required":["contentSources","enabled"],"additionalProperties":false}},"required":["totalPrograms","programs","lineup","startTimeOffsets"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/channels/{id}/fallbacks":{"get":{"operationId":"GetChannelFallbacks","tags":["Channels"],"description":"Returns a channel's fallback programs.","parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/all/lineups":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/lineup":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"from","required":false},{"schema":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"in":"query","name":"to","required":false},{"schema":{"default":false,"type":"boolean"},"in":"query","name":"includePrograms","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/now_playing":{"get":{"tags":["Channels"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}}}}},"/api/channels/{id}/transcode_config":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/channels/{channelId}/schedule-time-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","showId","order","id"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","channelId","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"startTime":{"type":"number"},"padMs":{"type":"number"}},"required":["type","customShowId","order","id","startTime"]},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]}},"required":["startTime","type","smartCollectionId","order","id"]}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{channelId}/schedule-slots":{"post":{"tags":["Channels"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","weight","order","type"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}}},"required":["id","cooldownMs","weight","order","type","showId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","weight","type"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"}},"required":["cooldownMs","weight","type","channelId"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","customShowId"]},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1}},"required":["cooldownMs","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor"]},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId"]}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"]},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"]},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"]}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs"]},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"]}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","weight","order","type","smartCollectionId"]}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution"]}},"required":["schedule"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"channelId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"startTime":{"type":"number","exclusiveMinimum":true,"minimum":0},"lineup":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["filler"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerType":{"type":"string","enum":["pre","post","head","tail","fallback","mid"]}},"required":["type","duration","id","fillerListId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"}},"required":["type","duration","channel","channelNumber","channelName"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false}},"required":["type","duration"],"additionalProperties":false}]}},"seed":{"type":"array","items":{"type":"number"}},"discardCount":{"type":"number"},"programs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}},"required":["startTime","lineup","seed","discardCount","programs"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/channels/{id}/schedule":{"get":{"tags":["Channels","Scheduling"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["time"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"latenessMs":{"type":"number"},"maxDays":{"type":"number"},"padMs":{"type":"number"},"period":{"type":"string","enum":["day","week"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["movie"]},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false}},"required":["startTime","type","order","direction","id"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["startTime","type","showId","seasonFilter","seasonExcludeFilter","order","direction","id","show"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["startTime","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"startTime":{"type":"number"},"padMs":{"type":"number"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","channelId","startTime","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"startTime":{"type":"number"},"padMs":{"type":"number"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["type","customShowId","order","direction","id","startTime","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"startTime":{"type":"number"},"padMs":{"type":"number"},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"smartCollection":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["startTime","type","smartCollectionId","order","direction","id","smartCollection","isMissing"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"startTomorrow":{"type":"boolean"}},"required":["type","flexPreference","latenessMs","maxDays","padMs","period","slots","timeZoneOffset"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["random"]},"flexPreference":{"type":"string","enum":["distribute","end"]},"maxDays":{"type":"number"},"padMs":{"type":"number"},"padStyle":{"type":"string","enum":["slot","episode"]},"slots":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["movie"]}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["show"]},"showId":{"type":"string"},"seasonFilter":{"default":[],"type":"array","items":{"type":"number"}},"seasonExcludeFilter":{"default":[],"type":"array","items":{"type":"number"}},"show":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"nullable":true,"enum":[null]}]},"missingShow":{"description":"A show that existed in the DB at schedule time, but no longer exists.","type":"object","properties":{"title":{"type":"string"}},"additionalProperties":false}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","showId","seasonFilter","seasonExcludeFilter","show"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["flex"]}},"required":["cooldownMs","durationSpec","weight","type"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"type":{"type":"string","enum":["redirect"]},"channelId":{"type":"string"},"channelName":{"type":"string"},"channel":{"anyOf":[{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","type","channelId","channel","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["custom-show"]},"customShowId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"customShow":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","isSyncing"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","customShowId","customShow","isMissing"],"additionalProperties":false},{"type":"object","properties":{"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"type":{"type":"string","enum":["filler"]},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"order":{"type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]},"durationWeighting":{"type":"string","enum":["linear","log"]},"decayFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"recoveryFactor":{"type":"number","minimum":0,"exclusiveMaximum":true,"maximum":1},"fillerList":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"}},"required":["id","name","contentCount"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"isMissing":{"default":false,"type":"boolean"}},"required":["cooldownMs","durationSpec","weight","id","type","fillerListId","order","durationWeighting","decayFactor","recoveryFactor","fillerList","isMissing"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"iterationGroup":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"linkMode":{"default":"continue","type":"string","enum":["continue","rerun"]},"rerunOverflow":{"default":"flex","type":"string","enum":["flex","continue"]},"filler":{"type":"array","items":{"type":"object","properties":{"types":{"minItems":1,"type":"array","items":{"type":"string","enum":["head","pre","post","tail","fallback","mid"]}},"fillerListId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"fillerOrder":{"default":"shuffle_prefer_short","type":"string","enum":["shuffle_prefer_short","shuffle_prefer_long","uniform"]}},"required":["types","fillerListId","fillerOrder"],"additionalProperties":false}},"midRoll":{"type":"object","properties":{"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakRule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["fixed_interval"]},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","intervalMs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["percentage"]},"points":{"minItems":1,"type":"array","items":{"type":"number","exclusiveMinimum":true,"exclusiveMaximum":true,"minimum":0,"maximum":100}}},"required":["type","points"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["initial_then_interval"]},"initialDelayMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"intervalMs":{"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","initialDelayMs","intervalMs"],"additionalProperties":false}]},"maxBreaks":{"type":"integer","minimum":0,"maximum":9007199254740991},"minProgramDurationMs":{"type":"number","minimum":0},"tailBufferMs":{"default":0,"type":"number","minimum":0},"breakDurationMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMinMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"breakDurationMaxMs":{"type":"number","exclusiveMinimum":true,"minimum":0},"programTypes":{"type":"array","items":{"type":"string","enum":["movie","episode","track","music_video","other_video"]}},"strategy":{"default":"eager","type":"string","enum":["eager","lazy"]}},"required":["maxBreaks","minProgramDurationMs","tailBufferMs","strategy"],"additionalProperties":false},"cooldownMs":{"type":"number"},"periodMs":{"type":"number"},"durationSpec":{"default":{"type":"dynamic","programCount":1},"oneOf":[{"type":"object","properties":{"durationMs":{"type":"number"},"type":{"type":"string","enum":["fixed"]}},"required":["durationMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["dynamic"]},"programCount":{"type":"number","minimum":1}},"required":["type","programCount"],"additionalProperties":false}]},"weight":{"type":"number"},"index":{"type":"number"},"order":{"type":"string","enum":["next","shuffle","ordered_shuffle","alphanumeric","chronological"]},"direction":{"default":"asc","type":"string","enum":["asc","desc"]},"type":{"type":"string","enum":["smart-collection"]},"smartCollectionId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["id","cooldownMs","durationSpec","weight","order","direction","type","smartCollectionId"],"additionalProperties":false}]}},"timeZoneOffset":{"type":"number"},"randomDistribution":{"type":"string","enum":["uniform","weighted","none"]},"periodMs":{"type":"number"},"lockWeights":{"default":false,"type":"boolean"}},"required":["type","flexPreference","maxDays","padMs","padStyle","slots","randomDistribution","lockWeights"],"additionalProperties":false}]}},"additionalProperties":false}}}}}}},"/api/channels/{id}/native-playback":{"get":{"tags":["Native"],"description":"Returns current and next playback items for native client players (tvOS, Android TV). Includes timing data for live TV simulation.","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"channelName":{"type":"string"},"serverTimeMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"current":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]},"next":{"oneOf":[{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["content"]},"seekOffsetMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"episodeTitle":{"type":"string"},"seasonNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"episodeNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"summary":{"type":"string"},"thumb":{"type":"string"},"streamUrl":{"type":"string"}},"required":["itemStartedAtMs","remainingMs","type","seekOffsetMs","programId","title","streamUrl"],"additionalProperties":false},{"type":"object","properties":{"itemStartedAtMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"remainingMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"type":{"type":"string","enum":["flex"]}},"required":["itemStartedAtMs","remainingMs","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string"},"retryAfterMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","message","retryAfterMs"],"additionalProperties":false}]}},"required":["channelId","channelNumber","channelName","serverTimeMs","current"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows":{"get":{"tags":["Custom Shows"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"post":{"operationId":"createCustomShow","tags":["Custom Shows"],"description":"Creates a new Custom Show","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name","syncMediaSourceId","syncMediaSourceType","syncExternalPlaylistId"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}}}}},"/api/custom-shows/{id}":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Custom Shows"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"default":[],"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0}},"required":["type","duration","id"]}},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"enableSync":{"type":"boolean"}},"required":["enableSync"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"operationId":"deleteCustomShow","tags":["Custom Shows"],"description":"Delets a custom show with the given ID","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/programs":{"get":{"tags":["Custom Shows"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/custom-shows/{id}/sync":{"post":{"operationId":"syncCustomShow","tags":["Custom Shows"],"description":"Triggers an immediate sync for a custom show linked to an external playlist","parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}},"totalDuration":{"type":"number","minimum":0},"syncMediaSourceId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"syncMediaSourceType":{"anyOf":[{"type":"string","enum":["plex"]},{"nullable":true,"enum":[null]}]},"syncExternalPlaylistId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"lastSyncedAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"isSyncing":{"default":false,"type":"boolean"}},"required":["id","name","contentCount","totalDuration","isSyncing"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists":{"get":{"tags":["Filler Lists"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}}}}},"post":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}},"required":["name","programs"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}}}}},"/api/filler-lists/{id}":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Filler Lists"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgramInput"}},"required":["type","duration","id","program"]}},"required":["type","duration","id","customShowId","index"]}]}}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"contentCount":{"type":"number"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}},"required":["id","name","contentCount"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/filler-lists/{id}/programs":{"get":{"tags":["Filler Lists"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":true,"minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}},"required":["type","duration","id","customShowId","index"],"additionalProperties":false}]}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/search":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"object","properties":{"query":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"restrictSearchTo":{"type":"array","items":{"type":"string"}},"filter":{"anyOf":[{"$ref":"#/components/schemas/SearchFilterInput"},{"nullable":true,"enum":[null]}]},"sort":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","enum":["title","sortTitle","duration","originalReleaseDate","originalReleaseYear","addedAt","index"]},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]}},{"nullable":true,"enum":[null]}]}}},"restrictSeachTo":{"type":"array","items":{"type":"string"}},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"expandParents":{"type":"boolean"}},"required":["query"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}}},"/api/programs/{id}/descendants":{"get":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/facets/{facetName}":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}},"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/SearchFilterInput"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"query","name":"facetQuery","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"mediaSourceId","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"libraryId","required":false},{"schema":{"type":"string"},"in":"path","name":"facetName","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"facetValues":{"type":"object","additionalProperties":{"type":"number"}}},"required":["facetValues"],"additionalProperties":false}}}}}}},"/api/programs/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/program_groupings/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"anyOf":[{"type":"array","items":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]}},{"type":"string"}]},"in":"query","name":"fallbackArtworkTypes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/programs/{id}/stream_details":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/children":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":-1,"type":"number","minimum":-1},"in":"query","name":"limit","required":false},{"schema":{"default":0,"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"string"},"in":"query","name":"channelId","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["season"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Season"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["album"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicAlbum"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["episode"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/Episode"}}},"required":["type","programs"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["track"]},"programs":{"type":"array","items":{"$ref":"#/components/schemas/MusicTrack"}}},"required":["type","programs"],"additionalProperties":false}]},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programs/{id}/thumb":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"number"},"in":"query","name":"width","required":false},{"schema":{"type":"number"},"in":"query","name":"height","required":false},{"schema":{"default":true,"type":"boolean"},"in":"query","name":"upscale","required":false},{"schema":{"default":"proxy","type":"string","enum":["proxy","redirect"]},"in":"query","name":"method","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"useShowPoster","required":false},{"schema":{"default":"program","type":"string","enum":["program","grouping"]},"in":"query","name":"type","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/external-link":{"get":{"tags":["Programs"],"parameters":[{"schema":{"default":true,"type":"boolean"},"in":"query","name":"forward","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false}}}},"302":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"405":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/programming/{externalId}":{"get":{"operationId":"getProgramByExternalId","tags":["Programs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"externalId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalProgram"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/programming/batch/lookup":{"post":{"operationId":"batchGetProgramsByExternalIds","tags":["Programs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TerminalProgram"}}}}}}}},"/api/programming/shows/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"includeEpisodes","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/seasons/{id}":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programming/shows/{id}/seasons":{"get":{"tags":["Programs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/programs/{id}/scan":{"post":{"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string"}]}}}}}}},"/api/media-sources":{"get":{"tags":["Media Source"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["jellyfin"]}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["emby"]}},"required":["name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["name","pathReplacements","type","mediaType","paths"]}]}}}},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{mediaSourceId}":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","userId","username","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}":{"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","userId","username","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","userId","username","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]}},"required":["id","name","pathReplacements","type","mediaType"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/media-libraries/{libraryId}":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"},"mediaSource":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type","sendGuideUpdates","index"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","userId","username","libraries","pathReplacements","type"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"libraries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"lastScannedAt":{"type":"number"},"externalKey":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby","local"]},"enabled":{"type":"boolean"},"isLocked":{"type":"boolean"}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked"],"additionalProperties":false}},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"],"additionalProperties":false}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","libraries","pathReplacements","type","mediaType","paths"],"additionalProperties":false}]}},"required":["id","name","mediaType","externalKey","type","enabled","isLocked","mediaSource"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-libraries/{libraryId}/programs":{"get":{"tags":["Media Library"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{mediaSourceId}/{libraryId}/status":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"state":{"type":"string","enum":["in_progress"]},"startedAt":{"type":"number"},"percentComplete":{"type":"number","minimum":0,"maximum":100}},"required":["state","startedAt","percentComplete"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["not_scanning"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["queued"]}},"required":["state"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/refresh":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/libraries/{libraryId}/scan":{"post":{"tags":["Media Source"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceScan","required":false},{"schema":{"type":"string"},"in":"path","name":"id","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"202":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"501":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}/status":{"get":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"healthy":{"type":"boolean"}},"required":["healthy"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/foreignstatus":{"post":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"accessToken":{"type":"string"},"uri":{"type":"string"},"type":{"type":"string","enum":["plex","jellyfin","emby"]},"username":{"type":"string"}},"required":["accessToken","uri","type"]},{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"paths":{"minItems":1,"type":"array","items":{"type":"string"}}},"required":["type","paths"]}],"required":["true"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"healthy":{"type":"boolean","enum":[true]}},"required":["healthy"],"additionalProperties":false},{"type":"object","properties":{"healthy":{"type":"boolean","enum":[false]},"status":{"type":"string","enum":["unreachable","auth","timeout","bad_response","unknown"]}},"required":["healthy","status"],"additionalProperties":false}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/media-sources/{id}":{"delete":{"tags":["Media Source"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Media Source"],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["plex"]},"sendGuideUpdates":{"type":"boolean"},"index":{"type":"number"},"clientIdentifier":{"type":"string"}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type","index"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["jellyfin"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uri":{"type":"string"},"accessToken":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"username":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["emby"]}},"required":["id","name","uri","accessToken","userId","username","pathReplacements","type"]},{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pathReplacements":{"type":"array","items":{"type":"object","properties":{"serverPath":{"type":"string"},"localPath":{"type":"string"}},"required":["serverPath","localPath"]}},"type":{"type":"string","enum":["local"]},"mediaType":{"type":"string","enum":["movies","shows","music_videos","other_videos","tracks"]},"paths":{"minItems":1,"type":"array","items":{"type":"string","minLength":1}}},"required":["id","name","pathReplacements","type","mediaType","paths"]}]}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string","enum":["error"]}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"]}}},"required":["preferences"]},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configVersion":{"default":5,"type":"number"},"ffmpegExecutablePath":{"default":"/usr/bin/ffmpeg","type":"string"},"ffprobeExecutablePath":{"default":"/usr/bin/ffprobe","type":"string"},"enableLogging":{"default":false,"type":"boolean"},"enableFileLogging":{"default":false,"type":"boolean"},"logLevel":{"default":"warning","type":"string","enum":["panic","fatal","error","warning","info","verbose","debug","trace"]},"languagePreferences":{"default":{"preferences":[{"iso6391":"en","iso6392":"eng","displayName":"English"}]},"type":"object","properties":{"preferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"iso6391":{"type":"string","minLength":2,"maxLength":2},"iso6392":{"type":"string","minLength":3,"maxLength":3},"displayName":{"type":"string"}},"required":["iso6391","iso6392","displayName"],"additionalProperties":false}}},"required":["preferences"],"additionalProperties":false},"transcodeDirectory":{"default":"","type":"string"},"scalingAlgorithm":{"default":"bicubic","type":"string","enum":["bicubic","fast_bilinear","lanczos","spline"]},"deinterlaceFilter":{"default":"none","type":"string","enum":["none","bwdif=0","bwdif=1","w3fdif","yadif=0","yadif=1"]},"hlsDirectOutputFormat":{"default":"mpegts","type":"string","enum":["mkv","mpegts","mp4"]},"enableSubtitleExtraction":{"default":false,"type":"boolean"}},"required":["configVersion","ffmpegExecutablePath","ffprobeExecutablePath","enableLogging","enableFileLogging","logLevel","languagePreferences","scalingAlgorithm","deinterlaceFilter","hlsDirectOutputFormat","enableSubtitleExtraction"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ffmpegPath":{"type":"string"}},"required":["ffmpegPath"]}}},"required":true},"responses":{"200":{"description":"Default Response"}}}},"/api/transcode_configs":{"get":{"tags":["Settings","Transcode Configs"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"post":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}}},"/api/transcode_configs/{id}":{"get":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Settings","Transcode Configs"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"]},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}}},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}}}},"delete":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/transcode_configs/{id}/copy":{"post":{"tags":["Settings","Transcode Configs"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/plex-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"streamPath":{"default":"network","type":"string","enum":["network","direct"]},"updatePlayStatus":{"default":false,"type":"boolean"},"pathReplace":{"default":"","type":"string"},"pathReplaceWith":{"default":"","type":"string"}},"required":["streamPath","updatePlayStatus","pathReplace","pathReplaceWith"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/xmltv-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"programmingHours":{"default":12,"type":"number"},"refreshHours":{"default":4,"type":"number"},"outputPath":{"default":"","type":"string"},"enableImageCache":{"default":false,"type":"boolean"},"useShowPoster":{"default":false,"type":"boolean"}},"required":["programmingHours","refreshHours","outputPath","enableImageCache","useShowPoster"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/hdhr-settings":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}},"post":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"autoDiscoveryEnabled":{"default":true,"type":"boolean"},"tunerCount":{"default":2,"type":"number"}},"required":["autoDiscoveryEnabled","tunerCount"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}}}}}}},"/api/system/health":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["healthy"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["info","warning","error"]},"context":{"type":"string"}},"required":["type","context"],"additionalProperties":false}]}}}}}}}},"/api/system/settings":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]}},"required":["rolledFileLimit"]},"categoryLogLevel":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},{"type":"null"}]}}}},"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}}},"server":{"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}}}},"required":["searchSettings"]}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"backup":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false},"logging":{"type":"object","properties":{"logLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]},"categoryLogLevel":{"type":"object","additionalProperties":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"logsDirectory":{"type":"string"},"useEnvVarLevel":{"default":true,"type":"boolean"},"logRollConfig":{"default":{"enabled":false,"maxFileSizeBytes":1048576,"rolledFileLimit":3},"type":"object","properties":{"enabled":{"default":false,"type":"boolean"},"maxFileSizeBytes":{"type":"number","exclusiveMinimum":true,"minimum":0},"rolledFileLimit":{"type":"number","exclusiveMinimum":true,"minimum":0},"schedule":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]}},"required":["enabled","rolledFileLimit"],"additionalProperties":false},"environmentLogLevel":{"type":"string","enum":["silent","fatal","error","warn","info","http","debug","http_out","trace"]}},"required":["logLevel","logsDirectory","useEnvVarLevel","logRollConfig"],"additionalProperties":false},"cache":{"type":"object","properties":{"enablePlexRequestCache":{"default":false,"type":"boolean"}},"required":["enablePlexRequestCache"],"additionalProperties":false},"server":{"default":{"port":8000,"searchSettings":{"snapshotIntervalHours":4}},"type":"object","properties":{"port":{"default":8000,"type":"number","minimum":1,"maximum":65535},"searchSettings":{"type":"object","properties":{"maxIndexingMemory":{"type":"number"},"snapshotIntervalHours":{"default":4,"type":"number"}},"required":["snapshotIntervalHours"],"additionalProperties":false}},"required":["port","searchSettings"],"additionalProperties":false},"dataDirectory":{"type":"string"},"searchServerAddress":{"type":"string","format":"uri"}},"required":["backup","logging","server","dataDirectory","searchServerAddress"],"additionalProperties":false}}}}}}},"/api/system/state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"isDocker":{"type":"boolean"},"isPodman":{"type":"boolean"},"isInContainer":{"type":"boolean"}},"required":["isDocker","isPodman","isInContainer"],"additionalProperties":false}}}}}}},"/api/system/migration-state":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"legacyMigration":{"default":false,"description":"Whether a legacy migration was performed","type":"boolean"},"isFreshSettings":{"default":true,"type":"boolean"},"hasMigratedTo1_0":{"default":false,"type":"boolean"}},"required":["legacyMigration","hasMigratedTo1_0"],"additionalProperties":false}}}}}}},"/api/system/fixers/{fixerId}/run":{"post":{"tags":["System"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"fixerId","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/settings/backup":{"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"]},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit"]}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath"]}]}}},"required":["outputs"]}}},"required":["configurations"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"configurations":{"type":"array","items":{"type":"object","properties":{"enabled":{"default":true,"type":"boolean"},"schedule":{"default":{"type":"every","increment":1,"unit":"day","offsetMs":14400000},"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cron"]},"cron":{"type":"string"}},"required":["type","cron"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["every"]},"increment":{"type":"number","exclusiveMinimum":true,"minimum":0},"unit":{"anyOf":[{"type":"string","enum":["second"]},{"type":"string","enum":["minute"]},{"type":"string","enum":["hour"]},{"type":"string","enum":["day"]},{"type":"string","enum":["week"]}]},"offsetMs":{"default":0,"type":"number","minimum":0,"maximum":86399999}},"required":["type","increment","unit","offsetMs"],"additionalProperties":false}]},"outputs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["file"]},"outputPath":{"type":"string"},"archiveFormat":{"default":"tar","anyOf":[{"type":"string","enum":["zip"]},{"type":"string","enum":["tar"]}]},"gzip":{"type":"boolean"},"tempDir":{"type":"string"},"maxBackups":{"default":3,"type":"number","exclusiveMinimum":true,"minimum":0}},"required":["type","outputPath","archiveFormat","maxBackups"],"additionalProperties":false}]}}},"required":["enabled","schedule","outputs"],"additionalProperties":false}}},"required":["configurations"],"additionalProperties":false}}}}}}},"/api/system/feature-flags":{"get":{"tags":["System","Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}},"put":{"tags":["System","Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"flags":{"type":"object","properties":{"proxyArtwork":{"default":false,"type":"boolean"},"tonemapEnabled":{"default":false,"type":"boolean"},"webvttSidecarEnabled":{"default":false,"type":"boolean"},"disableSearchSnapshotInBackup":{"default":false,"type":"boolean"},"disableVulkan":{"default":false,"type":"boolean"},"disableVaapiPad":{"default":false,"type":"boolean"}},"required":["proxyArtwork","tonemapEnabled","webvttSidecarEnabled","disableSearchSnapshotInBackup","disableVulkan","disableVaapiPad"],"additionalProperties":false},"metadata":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"displayName":{"type":"string"},"description":{"type":"string"},"category":{"type":"string","enum":["experimental","escape-hatch"]},"envOverride":{"type":"boolean"}},"required":["key","displayName","description","category","envOverride"],"additionalProperties":false}}},"required":["flags","metadata"],"additionalProperties":false}}}}}}},"/api/system/debug/nvidia":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/vaapi":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/system/debug/logs/stream":{"get":{"parameters":[{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/logs":{"get":{"tags":["System","Logs"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"download","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"lineLimit","required":false},{"schema":{"default":false,"type":"string"},"in":"query","name":"pretty","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/api/system/debug/env":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"}}}}}}}},"/api/system/debug/loggers":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/guide/status":{"get":{"tags":["Guide"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/debug":{"get":{"tags":["Debug"],"responses":{"200":{"description":"Default Response"}}}},"/api/guide/channels":{"get":{"tags":["Guide"],"parameters":[{"schema":{},"in":"query","name":"dateFrom","required":true},{"schema":{},"in":"query","name":"dateTo","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"object","properties":{"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"name":{"type":"string"},"number":{"type":"number"},"id":{"type":"string"},"programs":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","program","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["custom"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"id":{"type":"string"},"customShowId":{"type":"string"},"index":{"type":"number"},"program":{"type":"object","properties":{"type":{"type":"string","enum":["content"]},"duration":{"type":"number","minimum":0},"icon":{"type":"string"},"id":{"type":"string"},"startOffsetMs":{"type":"number","minimum":0},"program":{"$ref":"#/components/schemas/TerminalProgram"}},"required":["type","duration","id","program"],"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","id","customShowId","index","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["redirect"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"channel":{"type":"string"},"channelNumber":{"type":"number"},"channelName":{"type":"string"},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"}},"required":["type","duration","channel","channelNumber","channelName","start","stop","isPaused"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["flex"]},"duration":{"type":"number","exclusiveMinimum":0},"icon":{"type":"string"},"fillerConfig":{"type":"object","properties":{"fillerListIds":{"type":"array","items":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"fillerRepeatCooldownMs":{"type":"number","minimum":0},"fillerListCooldownOverrides":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number","minimum":0}},"origin":{"default":"flex","type":"string","enum":["flex","midroll"]}},"additionalProperties":false},"start":{"type":"number"},"stop":{"type":"number"},"isPaused":{"default":false,"type":"boolean"},"timeRemaining":{"type":"number"},"title":{"type":"string"}},"required":["type","duration","start","stop","isPaused","title"],"additionalProperties":false}]}}},"required":["name","number","id","programs"],"additionalProperties":false}}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/guide/channels/{id}":{"get":{"tags":["Guide"],"parameters":[{"schema":{"type":"string"},"in":"query","name":"dateFrom","required":true},{"schema":{"type":"string"},"in":"query","name":"dateTo","required":true},{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/api/plex/{mediaSourceId}/search":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"query","name":"searchParam","required":false},{"schema":{"type":"number"},"in":"query","name":"offset","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["movie"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"summary":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"plot":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"tagline":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"rating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","summary","plot","tagline","rating","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"$ref":"#/components/schemas/Episode"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/MusicTrack"},{"$ref":"#/components/schemas/MusicAlbum"},{"$ref":"#/components/schemas/MusicArtist"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["music_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"type":{"type":"string","enum":["other_video"]},"identifiers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceId":{"type":"string"},"type":{"type":"string","enum":["plex","plex-guid","imdb","tmdb","tvdb","jellyfin","emby"]}},"required":["id","type"],"additionalProperties":false}},"title":{"type":"string"},"sortTitle":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"createdAt":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"originalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"year":{"anyOf":[{"type":"number","exclusiveMinimum":true,"minimum":0},{"nullable":true,"enum":[null]}]},"releaseDate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}],"description":"Epoch timestamp"},"releaseDateString":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"actors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"writers":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"directors":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"genres":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"studios":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["name"],"additionalProperties":false}},"externalSubtitles":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"subtitleType":{"type":"string","enum":["embedded","sidecar"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"codec":{"type":"string"},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"language":{"type":"string"},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["subtitleType","codec","language"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"artwork":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"type":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["type"],"additionalProperties":false}},"state":{"type":"string","enum":["ok","missing"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"canonicalId":{"type":"string"},"externalId":{"type":"string","description":"Unique identifier for this item in the external media source"},"mediaItem":{"type":"object","properties":{"streams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"streamType":{"type":"string","enum":["video","audio","subtitles","attachment","external_subtitles"]},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"hasAttachedPicture":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"fileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"mimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"}]},{"nullable":true,"enum":[null]}]},"pixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"bitDepth":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"colorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"colorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"channels":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"sdh":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"languageCodeISO6392":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"selected":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"default":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"forced":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"required":["index","codec","streamType"],"additionalProperties":false}},"duration":{"type":"number","minimum":0},"sampleAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"displayAspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"frameRate":{"anyOf":[{"anyOf":[{"type":"number"},{"type":"string"}]},{"nullable":true,"enum":[null]}]},"resolution":{"anyOf":[{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","minimum":0},"startTime":{"type":"number","minimum":0},"endTime":{"type":"number","minimum":0},"title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"chapterType":{"default":"chapter","type":"string","enum":["chapter","intro","outro"]}},"required":["index","startTime","endTime","chapterType"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"scanKind":{"anyOf":[{"type":"string","enum":["unknown","progressive","interlaced"]},{"nullable":true,"enum":[null]}]},"externalKey":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"required":["streams","duration","locations"],"additionalProperties":false},"duration":{"type":"number"}},"required":["uuid","sourceType","type","identifiers","title","sortTitle","tags","originalTitle","year","releaseDate","releaseDateString","artwork","state","mediaSourceId","libraryId","canonicalId","externalId","duration"],"additionalProperties":false}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/plex/{mediaSourceId}/libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/collections":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/libraries/{libraryId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/playlists":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/filters":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"key","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Meta":{"type":"object","properties":{"Type":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"type":{"type":"string","enum":["movie","show","artist","photo","track","episode","season","album","folder"]},"title":{"type":"string"},"active":{"type":"boolean"},"Filter":{"type":"array","items":{"type":"object","properties":{"filter":{"type":"string"},"filterType":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"},"advanced":{"type":"boolean"}},"required":["filter","filterType","key","title","type"],"additionalProperties":false}},"Sort":{"type":"array","items":{"type":"object","properties":{"active":{"type":"boolean"},"activeDirection":{"type":"string"},"default":{"type":"string"},"defaultDirection":{"type":"string"},"descKey":{"type":"string"},"firstCharacterKey":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["defaultDirection","descKey","key","title"],"additionalProperties":false}},"Field":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"},"type":{"type":"string"}},"required":["key","title","type"],"additionalProperties":false}}},"required":["key","type","title","active"],"additionalProperties":false}},"FieldType":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"Operator":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["type","Operator"],"additionalProperties":false}}},"required":["Type","FieldType"],"additionalProperties":false}},"required":["Meta"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/tags":{"get":{"parameters":[{"schema":{"type":"string"},"in":"query","name":"libraryKey","required":true},{"schema":{"type":"string"},"in":"query","name":"itemKey","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"size":{"type":"number"},"Directory":{"type":"array","items":{"type":"object","properties":{"fastKey":{"type":"string"},"thumb":{"type":"string"},"key":{"type":"string"},"title":{"type":"string"}},"required":["key","title"],"additionalProperties":false}}},"required":["size","Directory"],"additionalProperties":false}}}}}}},"/api/plex/{mediaSourceId}/items/{itemId}/children":{"get":{"parameters":[{"schema":{"type":"string","enum":["item","collection","playlist"]},"in":"query","name":"parentType","required":true},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"itemId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}}}}}}}},"/api/jellyfin/login":{"post":{"operationId":"jellyfinLogin","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/user_libraries":{"get":{"operationId":"getJellyfinLibraries","parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/genres":{"get":{"operationId":"getJellyfinLibraryGenres","parameters":[{"schema":{"type":"string"},"in":"query","name":"includeItemTypes","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"Items":{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"OriginalTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ServerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"},"Etag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SourceType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PlaylistItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DateCreated":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"DateLastMediaAdded":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExtraType":{"anyOf":[{"type":"string","enum":["Unknown","Clip","Trailer","BehindTheScenes","DeletedScene","Interview","Scene","Sample","ThemeSong","ThemeVideo","Featurette","Short"]},{"nullable":true,"enum":[null]}]},"AirsBeforeSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsAfterSeasonNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AirsBeforeEpisodeNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CanDelete":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"CanDownload":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasLyrics":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"HasSubtitles":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"PreferredMetadataLanguage":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PreferredMetadataCountryCode":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ForcedSortName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"PremiereDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"ExternalUrls":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Url":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaSources":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Protocol":{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},"Id":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderPath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EncoderProtocol":{"anyOf":[{"type":"string","enum":["File","Http","Rtmp","Rtsp","Udp","Rtp","Ftp"]},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Default","Grouping","Placeholder"]},"Container":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Size":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsRemote":{"type":"boolean"},"ETag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ReadAtNativeFramerate":{"type":"boolean"},"IgnoreDts":{"type":"boolean"},"IgnoreIndex":{"type":"boolean"},"GenPtsInput":{"type":"boolean"},"SupportsTranscoding":{"type":"boolean"},"SupportsDirectStream":{"type":"boolean"},"SupportsDirectPlay":{"type":"boolean"},"IsInfiniteStream":{"type":"boolean"},"RequiresOpening":{"type":"boolean"},"OpenToken":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"RequiresClosing":{"type":"boolean"},"LiveStreamId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BufferMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiresLooping":{"type":"boolean"},"SupportsProbing":{"type":"boolean"},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"Video3DFormat":{"anyOf":[{"type":"string","enum":["HalfSideBySide","FullSideBySide","FullTopAndBottom","HalfTopAndBottom","MVC"]},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"MediaAttachments":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"FileName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MimeType":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Formats":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Bitrate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RequiredHttpHeaders":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"TranscodingUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TranscodingContainer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AnalyzeDurationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultAudioStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DefaultSubtitleStreamIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"CriticRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ProductionLocations":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"EnableMediaSourceDisplay":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"OfficialRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CustomRating":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Overview":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Taglines":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Genres":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"CommunityRating":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"CumulativeRunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RunTimeTicks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProductionYear":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsPlaceHolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Number":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelNumber":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IndexNumberEnd":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ParentIndexNumber":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProviderIds":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"IsHD":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsFolder":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ParentId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]},"People":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"type":"string"},"Id":{"type":"string"},"Role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Backdrop":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Primary":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Logo":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"Thumb":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]}},"additionalProperties":false},{"nullable":true,"enum":[null]}]}},"required":["Name","Id"],"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Studios":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"GenreItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"ParentLogoItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentBackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"LocalTrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RecursiveItemCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ChildCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeasonId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SpecialFeatureCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DisplayPreferencesId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Status":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AirTime":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"PrimaryImageAspectRatio":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Artists":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ArtistItems":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"Album":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CollectionType":{"anyOf":[{"type":"string","enum":["unknown","movies","tvshows","music","musicvideos","trailers","homevideos","boxsets","books","photos","livetv","playlists","folders"]},{"nullable":true,"enum":[null]}]},"DisplayOrder":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtist":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"AlbumArtists":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Id":{"type":"string"}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"SeasonName":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"MediaStreams":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"Codec":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Language":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorRange":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorSpace":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorTransfer":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ColorPrimaries":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DvVersionMajor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvVersionMinor":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvProfile":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvLevel":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RpuPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ElPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BlPresentFlag":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"DvBlSignalCompatibilityId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Comment":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"TimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CodecTimeBase":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Title":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"VideoRange":{"type":"string","enum":["Unknown","SDR","HDR"]},"VideoRangeType":{"default":"Unknown","type":"string","enum":["Unknown","SDR","HDR10","HLG","DOVI","DOVIWithHDR10","DOVIWithHLG","DOVIWithSDR","HDR10Plus"]},"VideoDoViTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedUndefined":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedDefault":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedForced":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedExternal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"LocalizedHearingImpaired":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"DisplayTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NalLengthSize":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsInterlaced":{"type":"boolean"},"IsAVC":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"ChannelLayout":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"BitRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"BitDepth":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"RefFrames":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"PacketLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Channels":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SampleRate":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsDefault":{"type":"boolean"},"IsForced":{"type":"boolean"},"IsHearingImpaired":{"type":"boolean"},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AverageFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"RealFrameRate":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Profile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Type":{"type":"string","enum":["Audio","Video","Subtitle","EmbeddedImage","Data","Lyric"]},"AspectRatio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"IsExternal":{"type":"boolean"},"DeliveryMethod":{"anyOf":[{"type":"string","enum":["Encode","Embed","External","Hls","Drop"]},{"nullable":true,"enum":[null]}]},"DeliveryUrl":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsExternalUrl":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsTextSubtitleStream":{"type":"boolean"},"SupportsExternalStream":{"type":"boolean"},"Path":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"PixelFormat":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Level":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsAnamorphic":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"VideoType":{"anyOf":[{"type":"string","enum":["VideoFile","Iso","Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"PartCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MediaSourceCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ImageTags":{"anyOf":[{"type":"object","additionalProperties":{"type":"string"}},{"nullable":true,"enum":[null]}]},"BackdropImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ScreenshotImageTags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"nullable":true,"enum":[null]}]},"ParentLogoImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentArtImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"SeriesThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageBlurHashes":{"anyOf":[{"type":"object","properties":{"Primary":{"type":"object","additionalProperties":{"type":"string"}},"Art":{"type":"object","additionalProperties":{"type":"string"}},"Backdrop":{"type":"object","additionalProperties":{"type":"string"}},"Banner":{"type":"object","additionalProperties":{"type":"string"}},"Logo":{"type":"object","additionalProperties":{"type":"string"}},"Thumb":{"type":"object","additionalProperties":{"type":"string"}},"Disc":{"type":"object","additionalProperties":{"type":"string"}},"Box":{"type":"object","additionalProperties":{"type":"string"}},"Screenshot":{"type":"object","additionalProperties":{"type":"string"}},"Menu":{"type":"object","additionalProperties":{"type":"string"}},"Chapter":{"type":"object","additionalProperties":{"type":"string"}},"BoxRear":{"type":"object","additionalProperties":{"type":"string"}},"Profile":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"nullable":true,"enum":[null]}]},"SeriesStudio":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentThumbImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageItemId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ParentPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Chapters":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"StartPositionTicks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"Name":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImagePath":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ImageDateModified":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"ImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]}},"additionalProperties":false}},{"nullable":true,"enum":[null]}]},"IsoType":{"anyOf":[{"type":"string","enum":["Dvd","BluRay"]},{"nullable":true,"enum":[null]}]},"MediaType":{"type":"string","enum":["Unknown","Video","Audio","Photo","Book"]},"EndDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"TrailerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MovieCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ProgramCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"EpisodeCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SongCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"AlbumCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"ArtistCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"MusicVideoCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"LockData":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"Width":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"Height":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"CameraMake":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"CameraModel":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"Software":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ExposureTime":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"FocalLength":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Aperture":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"ShutterSpeed":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Latitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Longitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"Altitude":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsoSpeedRating":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"nullable":true,"enum":[null]}]},"SeriesTimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ProgramId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"ChannelPrimaryImageTag":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"StartDate":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"nullable":true,"enum":[null]}]},"CompletionPercentage":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"IsRepeat":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"EpisodeTitle":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"IsMovie":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSports":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsSeries":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsLive":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsNews":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsKids":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"IsPremiere":{"anyOf":[{"type":"boolean"},{"nullable":true,"enum":[null]}]},"TimerId":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"NormalizationGain":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Id","Type","MediaType"],"additionalProperties":false}},"TotalRecordCount":{"type":"number"},"StartIndex":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]}},"required":["Items","TotalRecordCount"],"additionalProperties":false}}}}}}},"/api/jellyfin/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"operationId":"getJellyfinLibraryItems","parameters":[{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AirTime","CanDelete","CanDownload","ChannelInfo","Chapters","Trickplay","ChildCount","CumulativeRunTimeTicks","CustomRating","DateCreated","DateLastMediaAdded","DisplayPreferencesId","Etag","ExternalUrls","Genres","HomePageUrl","ItemCounts","MediaSourceCount","MediaSources","OriginalTitle","OfficialRating","Overview","ParentId","Path","People","PlayAccess","ProductionLocations","ProviderIds","PrimaryImageAspectRatio","RecursiveItemCount","Settings","ScreenshotImageTags","SeriesPrimaryImage","SeriesStudio","SortName","SpecialEpisodeNumbers","Studios","Taglines","Tags","RemoteTrailers","MediaStreams","SeasonUserData","ServiceName","ThemeSongIds","ThemeVideoIds","ExternalEtag","PresentationUniqueKey","InheritedParentalRatingValue","ExternalSeriesId","SeriesPresentationUniqueKey","DateLastRefreshed","DateLastSaved","RefreshState","ChannelImage","EnableMediaSourceDisplay","Width","Height","ExtraIds","LocalTrailerCount","IsHD","SpecialFeatureCount"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Default","AiredEpisodeOrder","Album","AlbumArtist","Artist","DateCreated","OfficialRating","DatePlayed","PremiereDate","StartDate","SortName","Name","Random","Runtime","CommunityRating","ProductionYear","PlayCount","CriticRating","IsFolder","IsUnplayed","IsPlayed","SeriesSortName","VideoBitRate","AirTime","Studio","IsFavoriteOrLiked","DateLastContentAdded","SeriesDatePlayed","ParentIndexNumber","IndexNumber","SimilarityScore","SearchScore"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/sessions":{"get":{"tags":["Sessions"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}}}}}},"/api/channels/{id}/sessions":{"get":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}},"delete":{"tags":["Sessions"],"parameters":[{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}}}},"201":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/emby/login":{"post":{"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["url","username","password"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"accessToken":{"type":"string"},"userId":{"type":"string"}},"additionalProperties":false}}}}}}},"/api/emby/{mediaSourceId}/user_libraries":{"get":{"parameters":[{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"type":{"type":"string","enum":["library"]},"locations":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["local"]}},"required":["path","type"],"additionalProperties":false},{"type":"object","properties":{"path":{"type":"string"},"type":{"type":"string","enum":["remote"]},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"externalKey":{"type":"string"}},"required":["path","type","sourceType","externalKey"],"additionalProperties":false}]}},"libraryId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}},"required":["sourceType","uuid","title","externalId","type","locations"],"additionalProperties":false}}}}}}}},"/api/emby/{mediaSourceId}/libraries/{libraryId}/items":{"get":{"parameters":[{"schema":{"type":"number","minimum":0},"in":"query","name":"offset","required":false},{"schema":{"type":"number","exclusiveMinimum":true,"minimum":0},"in":"query","name":"limit","required":false},{"schema":{"type":"string"},"in":"query","name":"parentId","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["AggregateFolder","Audio","AudioBook","BasePluginFolder","Book","BoxSet","Channel","ChannelFolderItem","CollectionFolder","Episode","Folder","Genre","ManualPlaylistsFolder","Movie","LiveTvChannel","LiveTvProgram","MusicAlbum","MusicArtist","MusicGenre","MusicVideo","Person","Photo","PhotoAlbum","Playlist","PlaylistsFolder","Program","Recording","Season","Series","Studio","Trailer","TvChannel","TvProgram","UserRootFolder","UserView","Video","Year"]}}]},"in":"query","name":"itemTypes","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Budget","Chapters","ChildCount","DateCreated","Genres","HomePageUrl","IndexOptions","MediaStreams","Overview","ParentId","Path","People","ProviderIds","PrimaryImageAspectRatio","Revenue","SortName","Studios","Taglines","Etag","Tags","ProductionYear","PremiereDate","MediaSources","OfficialRating"]}}]},"in":"query","name":"extraFields","required":false},{"schema":{"type":"string"},"in":"query","name":"genres","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWithOrGreater","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameStartsWith","required":false},{"schema":{"type":"string","minLength":1},"in":"query","name":"nameLessThan","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Album","AlbumArtist","Artist","Budget","CommunityRating","CriticRating","DateCreated","DatePlayed","PlayCount","PremiereDate","ProductionYear","SortName","Random","Revenue","Runtime","IsFolder"]}}]},"in":"query","name":"sortBy","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"recursive","required":false},{"schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string","enum":["Artist","AlbumArtist"]}}]},"in":"query","name":"artistType","required":false},{"schema":{"type":"string"},"in":"path","name":"mediaSourceId","required":true},{"schema":{"type":"string"},"in":"path","name":"libraryId","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"number"},"result":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"size":{"type":"number"},"offset":{"type":"number"}},"required":["total","result","size"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/settings/media-source":{"get":{"tags":["Settings"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}},"put":{"tags":["Settings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}}}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"rescanIntervalHours":{"default":6,"type":"number","minimum":0}},"required":["rescanIntervalHours"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles":{"get":{"tags":["Stream Selection"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}},"usedByChannels":{"type":"number"},"usedByFillers":{"type":"number"},"usedByPrograms":{"type":"number"}},"required":["uuid","name","rules","usedByChannels","usedByFillers","usedByPrograms"],"additionalProperties":false}}}}}}},"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}}}}},"/api/stream-selection-profiles/{id}":{"get":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"]},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages"]},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"]}]}},"required":["condition","audioAction","subtitleAction"]}}},"required":["name","rules"]}}},"required":true},"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string"},"name":{"type":"string","minLength":1},"rules":{"minItems":1,"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string","minLength":1},"audioAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"preferChannels":{"type":"string","enum":["most","least"]}},"required":["type","languages"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_title"]},"titleContains":{"type":"string","minLength":1}},"required":["type","titleContains"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]},"subtitleAction":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","enum":["disable"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["by_language"]},"languages":{"minItems":1,"type":"array","items":{"type":"string"}},"filterType":{"default":"any","type":"string","enum":["none","forced","default","any"]},"allowImageBased":{"default":true,"type":"boolean"},"allowExternal":{"default":true,"type":"boolean"}},"required":["type","languages","filterType","allowImageBased","allowExternal"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["default"]}},"required":["type"],"additionalProperties":false}]}},"required":["condition","audioAction","subtitleAction"],"additionalProperties":false}}},"required":["uuid","name","rules"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Stream Selection"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/stream-selection-profiles/validate-expression":{"post":{"tags":["Stream Selection"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expression":{"type":"string"}},"required":["expression"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[true]}},"required":["valid"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"required":["valid"],"additionalProperties":false}}}}}}},"/api/troubleshoot":{"post":{"tags":["Troubleshoot"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"programId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"channelId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"testDurationSeconds":{"default":30,"type":"number","minimum":5,"maximum":120}},"required":["programId","channelId"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"systemInfo":{"type":"object","properties":{"tunarrVersion":{"type":"string"},"ffmpegVersion":{"type":"string"},"nodeVersion":{"type":"string"},"platform":{"type":"string"},"arch":{"type":"string"},"availableHwAccels":{"type":"array","items":{"type":"string"}}},"required":["tunarrVersion","ffmpegVersion","nodeVersion","platform","arch","availableHwAccels"],"additionalProperties":false},"mediaInfo":{"type":"object","properties":{"title":{"type":"string"},"type":{"type":"string"},"duration":{"type":"number"},"sourceType":{"type":"string"},"streamSourceType":{"type":"string"},"streamSourcePath":{"type":"string"},"videoStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"profile":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"framerate":{"type":"string"},"pixelFormat":{"type":"string"},"bitDepth":{"type":"number"},"colorRange":{"type":"string"},"colorSpace":{"type":"string"},"colorTransfer":{"type":"string"},"colorPrimaries":{"type":"string"},"sampleAspectRatio":{"type":"string"},"displayAspectRatio":{"type":"string"},"bitrate":{"type":"number"}},"required":["index","codec","width","height"],"additionalProperties":false}},"audioStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false}},"subtitleStreams":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false}}},"required":["title","type","duration","videoStreams","audioStreams","subtitleStreams"],"additionalProperties":false},"transcodeConfig":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","minLength":1},"threadCount":{"type":"number"},"hardwareAccelerationMode":{"type":"string","enum":["none","cuda","vaapi","qsv","videotoolbox"]},"vaapiDriver":{"type":"string","enum":["system","ihd","i965","radeonsi","nouveau"]},"vaapiDevice":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"resolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoFormat":{"type":"string","enum":["h264","hevc","mpeg2video"]},"videoProfile":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoPreset":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"videoBitDepth":{"anyOf":[{"anyOf":[{"type":"number","enum":[8]},{"type":"number","enum":[10]}]},{"nullable":true,"enum":[null]}]},"videoBitRate":{"type":"number"},"videoBufferSize":{"type":"number"},"audioChannels":{"type":"number"},"audioFormat":{"type":"string","enum":["aac","ac3","copy","mp3"]},"audioBitRate":{"type":"number"},"audioBufferSize":{"type":"number"},"audioSampleRate":{"type":"number"},"audioVolumePercent":{"default":100,"type":"number"},"audioLoudnormConfig":{"anyOf":[{"type":"object","properties":{"i":{"default":-24,"description":"integrated loudness target","type":"number","minimum":-70,"maximum":-5},"lra":{"default":7,"description":"loudness range target","type":"number","minimum":1,"maximum":50},"tp":{"default":-2,"description":"maximum true peak","type":"number","minimum":-9,"maximum":0},"offsetGain":{"description":"offset gain to add before peak limiter","type":"number","minimum":-99,"maximum":99}},"required":["i","lra","tp"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"normalizeFrameRate":{"type":"boolean"},"deinterlaceVideo":{"type":"boolean"},"disableChannelOverlay":{"type":"boolean"},"errorScreen":{"type":"string","enum":["static","pic","blank","testsrc","text","kill"]},"errorScreenAudio":{"type":"string","enum":["silent","sine","whitenoise"]},"isDefault":{"type":"boolean"},"disableHardwareDecoder":{"default":false,"type":"boolean"},"disableHardwareEncoding":{"default":false,"type":"boolean"},"disableHardwareFilters":{"default":false,"type":"boolean"}},"required":["id","name","threadCount","hardwareAccelerationMode","vaapiDriver","vaapiDevice","resolution","videoFormat","videoProfile","videoPreset","videoBitDepth","videoBitRate","videoBufferSize","audioChannels","audioFormat","audioBitRate","audioBufferSize","audioSampleRate","audioVolumePercent","audioLoudnormConfig","normalizeFrameRate","deinterlaceVideo","disableChannelOverlay","errorScreen","errorScreenAudio","isDefault","disableHardwareDecoder","disableHardwareEncoding","disableHardwareFilters"],"additionalProperties":false},"channelConfig":{"type":"object","properties":{"disableFillerOverlay":{"type":"boolean"},"duration":{"type":"number"},"fallback":{"type":"array","items":{"type":"object","properties":{"artistName":{"type":"string"},"albumName":{"type":"string"},"channel":{"type":"string"},"customOrder":{"type":"number"},"customShowId":{"type":"string"},"customShowName":{"type":"string"},"date":{"type":"string"},"duration":{"type":"number"},"episode":{"type":"number"},"episodeIcon":{"type":"string"},"file":{"type":"string"},"id":{"type":"string"},"icon":{"type":"string"},"key":{"type":"string"},"plexFile":{"type":"string"},"rating":{"type":"string"},"externalKey":{"type":"string"},"season":{"type":"number"},"seasonIcon":{"type":"string"},"serverKey":{"type":"string"},"showIcon":{"type":"string"},"showTitle":{"type":"string"},"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"summary":{"type":"string"},"title":{"type":"string"},"type":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]},"year":{"type":"number"}},"required":["duration","id","sourceType","type"],"additionalProperties":false}},"fillerCollections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"weight":{"type":"number"},"cooldownSeconds":{"type":"number"}},"required":["id","weight","cooldownSeconds"],"additionalProperties":false}},"fillerRepeatCooldown":{"type":"number"},"groupTitle":{"type":"string"},"guideFlexTitle":{"type":"string"},"guideMinimumDuration":{"type":"number"},"icon":{"type":"object","properties":{"path":{"default":"","type":"string"},"width":{"default":0,"type":"number","minimum":0},"duration":{"default":0,"type":"number"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"useDefaultIconFallback":{"default":true,"type":"boolean"}},"required":["path","width","duration","position"],"additionalProperties":false},"id":{"type":"string"},"name":{"type":"string"},"number":{"type":"number"},"offline":{"type":"object","properties":{"picture":{"type":"string"},"soundtrack":{"type":"string"},"mode":{"anyOf":[{"type":"string","enum":["pic"]},{"type":"string","enum":["clip"]}]}},"required":["mode"],"additionalProperties":false},"startTime":{"type":"number"},"stealth":{"type":"boolean"},"transcoding":{"type":"object","properties":{"targetResolution":{"type":"object","properties":{"widthPx":{"type":"number"},"heightPx":{"type":"number"}},"required":["widthPx","heightPx"],"additionalProperties":false},"videoBitrate":{"type":"number"},"videoBufferSize":{"type":"number"}},"additionalProperties":false},"watermark":{"type":"object","properties":{"url":{"type":"string"},"enabled":{"type":"boolean"},"position":{"default":"bottom-right","anyOf":[{"type":"string","enum":["top-left"]},{"type":"string","enum":["top-right"]},{"type":"string","enum":["bottom-left"]},{"type":"string","enum":["bottom-right"]}]},"width":{"type":"number","exclusiveMinimum":true,"minimum":0},"verticalMargin":{"type":"number","minimum":0,"maximum":100},"horizontalMargin":{"type":"number","minimum":0,"maximum":100},"duration":{"default":0,"type":"number","minimum":0},"fixedSize":{"type":"boolean"},"animated":{"type":"boolean"},"opacity":{"default":100,"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fadeConfig":{"type":"array","items":{"type":"object","properties":{"programType":{"type":"string","enum":["movie","episode","track","music_video","other_video"]},"periodMins":{"type":"number","minimum":1},"leadingEdge":{"default":true,"type":"boolean"}},"required":["periodMins"],"additionalProperties":false}}},"required":["enabled","position","width","verticalMargin","horizontalMargin","duration","opacity"],"additionalProperties":false},"onDemand":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"programCount":{"type":"number"},"streamMode":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"transcodeConfigId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"sessions":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2","hls_concat","hls_slower_concat","mpegts_concat","hls_direct_concat","hls_direct_v2_concat"]},"state":{"type":"string"},"numConnections":{"type":"number","minimum":0},"connections":{"type":"array","items":{"type":"object","properties":{"ip":{"anyOf":[{"type":"string","format":"ipv4","pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"},{"type":"string","format":"ipv6","pattern":"^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$"}]},"userAgent":{"type":"string"},"lastHeartbeat":{"type":"number","minimum":0}},"required":["ip"],"additionalProperties":false}}},"required":["type","state","numConnections","connections"],"additionalProperties":false}},"subtitlesEnabled":{"type":"boolean"},"subtitlePreferences":{"minItems":1,"type":"array","items":{"type":"object","properties":{"langugeCode":{"type":"string"},"priority":{"type":"number","minimum":0},"allowImageBased":{"type":"boolean"},"allowExternal":{"type":"boolean"},"filter":{"default":"any","type":"string","enum":["none","forced","default","any"]}},"required":["langugeCode","priority","allowImageBased","allowExternal","filter"],"additionalProperties":false}}},"required":["disableFillerOverlay","duration","groupTitle","guideMinimumDuration","icon","id","name","number","offline","startTime","stealth","onDemand","programCount","streamMode","transcodeConfigId","subtitlesEnabled"],"additionalProperties":false},"streamSelection":{"type":"object","properties":{"profileName":{"type":"string"},"profileSource":{"type":"string"},"rules":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"condition":{"type":"string"},"matched":{"type":"boolean"},"audioAction":{"type":"string"},"subtitleAction":{"type":"string"}},"required":["condition","matched"],"additionalProperties":false}},"selectedAudioStream":{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"channels":{"type":"number"},"title":{"type":"string"},"default":{"type":"boolean"},"selected":{"type":"boolean"},"forced":{"type":"boolean"},"bitrate":{"type":"number"}},"required":["index","codec"],"additionalProperties":false},"selectedSubtitleStream":{"anyOf":[{"type":"object","properties":{"index":{"type":"number"},"codec":{"type":"string"},"language":{"type":"string"},"title":{"type":"string"},"type":{"type":"string","enum":["embedded","external"]},"default":{"type":"boolean"},"forced":{"type":"boolean"},"sdh":{"type":"boolean"}},"required":["index","codec"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"subtitleReason":{"type":"string"}},"required":["rules"],"additionalProperties":false},"pipeline":{"type":"object","properties":{"hardwareAccelMode":{"type":"string"},"builderType":{"type":"string"},"pipelineSteps":{"type":"array","items":{"type":"string"}},"ffmpegArgs":{"type":"array","items":{"type":"string"}},"ffmpegArgsString":{"type":"string"},"environmentVariables":{"type":"object","additionalProperties":{"type":"string"}}},"required":["hardwareAccelMode","builderType","pipelineSteps","ffmpegArgs","ffmpegArgsString","environmentVariables"],"additionalProperties":false},"testTranscode":{"type":"object","properties":{"exitCode":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"signal":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"success":{"type":"boolean"},"stderrOutput":{"type":"string"},"durationProcessed":{"type":"string"},"hlsSessionId":{"type":"string"}},"required":["exitCode","signal","success","stderrOutput"],"additionalProperties":false},"ffmpegLog":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"timestamp":{"type":"string"}},"required":["systemInfo","errors","timestamp"],"additionalProperties":false}}}}}}},"/api/trash":{"get":{"parameters":[{"schema":{"type":"array","items":{"anyOf":[{"type":"string","enum":["movie"]},{"type":"string","enum":["episode"]},{"type":"string","enum":["track"]},{"type":"string","enum":["redirect"]},{"type":"string","enum":["custom"]},{"type":"string","enum":["flex"]}]}},"in":"query","name":"itemTypes","required":false}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","items":{"anyOf":[{"anyOf":[{"$ref":"#/components/schemas/TerminalProgram"},{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}]},{"anyOf":[{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["folder"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["collection"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false},{"type":"object","properties":{"sourceType":{"type":"string","enum":["plex","jellyfin","emby","local"]},"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"title":{"type":"string"},"childCount":{"type":"number"},"externalId":{"type":"string"},"childType":{"type":"string","enum":["movie","episode","track","music_video","other_video","season","show","album","artist"]},"mediaSourceId":{"type":"string"},"libraryId":{"type":"string"},"type":{"type":"string","enum":["playlist"]}},"required":["sourceType","uuid","title","externalId","mediaSourceId","libraryId","type"],"additionalProperties":false}]}]}},"page":{"type":"number"},"totalPages":{"type":"number"},"totalHits":{"type":"number"},"facetDistribution":{"type":"object","additionalProperties":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}}}},"required":["results","page","totalPages","totalHits"],"additionalProperties":false}}}}}},"delete":{"responses":{"200":{"description":"Default Response"}}}},"/api/smart_collections":{"get":{"tags":["Smart Collections"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}}}}},"post":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["name","keywords"]}}},"required":true},"responses":{"201":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"type":"string"}}}}}}},"/api/smart_collections/{id}":{"get":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"delete":{"tags":["Smart Collections"],"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["Smart Collections"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilterInput"},"filterString":{"type":"string"},"keywords":{"type":"string"}}}}}},"parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"filter":{"$ref":"#/components/schemas/SearchFilter"},"filterString":{"type":"string"},"keywords":{"type":"string"}},"required":["uuid","name","keywords"],"additionalProperties":false}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"order":{"anyOf":[{"type":"number"},{"nullable":true,"enum":[null]}]},"role":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["actor"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["writer"]}},"required":["name","type"],"additionalProperties":false},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"name":{"type":"string"},"externalInfo":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["plex","jellyfin","emby","local"]},"id":{"type":"string"}},"required":["source","id"],"additionalProperties":false},{"nullable":true,"enum":[null]}]},"thumb":{"anyOf":[{"type":"string"},{"nullable":true,"enum":[null]}]},"type":{"type":"string","enum":["director"]}},"required":["name","type"],"additionalProperties":false}]}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/credits/{id}/artwork/{artworkType}":{"get":{"parameters":[{"schema":{"type":"string","enum":["cast","director","writer","producer"]},"in":"query","name":"type","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true},{"schema":{"type":"string","enum":["poster","thumbnail","logo","fanart","watermark","banner","landscape"]},"in":"path","name":"artworkType","required":true}],"responses":{"200":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}},"404":{"description":"Default Response","content":{"image/jpeg":{"schema":{}},"image/png":{"schema":{}}}}}}},"/api/program_groupings/batch/lookup":{"post":{"operationId":"batchGetProgramGroupingsByExternalIds","tags":["Program Groupings"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalIds":{"type":"array","items":{"type":"string"}}},"required":["externalIds"]}}},"required":true},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#/components/schemas/Show"},{"$ref":"#/components/schemas/Season"},{"$ref":"#/components/schemas/MusicArtist"},{"$ref":"#/components/schemas/MusicAlbum"}]}}}}}}}},"/api/version":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"tunarr":{"type":"string"},"ffmpeg":{"type":"string"},"nodejs":{"type":"string"}},"required":["tunarr","ffmpeg","nodejs"],"additionalProperties":false}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/ffmpeg-info":{"get":{"tags":["System"],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"audioEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"videoEncoders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"ffmpegName":{"type":"string"}},"required":["name","ffmpegName"],"additionalProperties":false}},"hardwareAccelerationTypes":{"type":"array","items":{"type":"string"}}},"required":["audioEncoders","videoEncoders","hardwareAccelerationTypes"],"additionalProperties":false}}}}}}},"/api/upload/image":{"post":{"requestBody":{"content":{"multipart/form-data":{"schema":{}}}},"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"fileUrl":{"type":"string"}},"required":["name","fileUrl"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/api/xmltv-last-refresh":{"get":{"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv.xml":{"head":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"responses":{"200":{"description":"Default Response"}}}},"/api/xmltv/refresh":{"post":{"responses":{"200":{"description":"Default Response"}}}},"/api/channels.m3u":{"head":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"parameters":[{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"forceHttps","required":false},{"schema":{"type":"string"},"in":"query","name":"hostOverride","required":false}],"responses":{"200":{"description":"Default Response"}}},"delete":{"tags":["Streaming"],"description":"Clears the channels m3u cache","responses":{"204":{"description":"Default Response","content":{"application/json":{"schema":{}}}}}}},"/ffmpeg/playlist":{"get":{"tags":["Streaming"],"description":"Return a playlist in ffconcat file format for the given channel","parameters":[{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"channel","required":true},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}":{"get":{"tags":["Streaming"],"parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.ts":{"get":{"tags":["Streaming"],"description":"Returns a continuous, direct MPEGTS video stream for the given channel","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"streamMode","required":false},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"query","name":"token","required":false},{"schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true"]},{"type":"string","enum":["false"]},{"type":"number"}]},"in":"query","name":"audioOnly","required":false},{"schema":{"anyOf":[{"type":"number"},{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}.m3u8":{"head":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}},"get":{"tags":["Streaming"],"description":"Returns an m3u8 playlist for the given channel, for use in HLS","parameters":[{"schema":{"type":"string","enum":["hls","hls_slower","mpegts","hls_direct","hls_direct_v2"]},"in":"query","name":"mode","required":false},{"schema":{"anyOf":[{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},{"type":"number"}]},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}},"/stream/channels/{id}/item-stream.ts":{"get":{"tags":["Native"],"description":"Returns a finite MPEG-TS stream for the single lineup item that started at time t (epoch ms). Stream closes cleanly at EOF when the item ends.","parameters":[{"schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"in":"query","name":"t","required":true},{"schema":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"in":"path","name":"id","required":true}],"responses":{"200":{"description":"Default Response"}}}}},"servers":[],"tags":[{"name":"Channels"},{"name":"Custom Shows"},{"name":"Filler Lists"},{"name":"Guide"},{"name":"Media Source"},{"name":"Programs"},{"name":"Sessions"},{"name":"Streaming"},{"name":"HDHR"},{"name":"Settings"},{"name":"System"},{"name":"Tasks"},{"name":"Debug"}]} +>>>>>>> 97c6c348 (fix: ensure unseen items from custom show sync are synced in search (#1895)) diff --git a/server/src/db/CustomShowDB.test.ts b/server/src/db/CustomShowDB.test.ts index 5c6f0ada3..99cb5149f 100644 --- a/server/src/db/CustomShowDB.test.ts +++ b/server/src/db/CustomShowDB.test.ts @@ -8,6 +8,7 @@ import { test as baseTest, describe, expect, vi } from 'vitest'; import { bootstrapTunarr } from '../bootstrap.ts'; import { setGlobalOptionsUnchecked } from '../globals.ts'; import { CustomShowDB } from './CustomShowDB.ts'; +import { BasicProgramRepository } from './program/BasicProgramRepository.ts'; import { DBAccess } from './DBAccess.ts'; import type { MediaSourceId, MediaSourceName } from './schema/base.ts'; import { CustomShow } from './schema/CustomShow.ts'; @@ -76,9 +77,13 @@ const test = baseTest.extend({ customShowDb: async ({ db: _ }, use) => { const dbAccess = DBAccess.instance; + const kyselyDb = dbAccess.getKyselyDatabase(':memory:')!; + const drizzleDb = dbAccess.getConnection(':memory:')!.drizzle!; + const basicProgramRepo = new BasicProgramRepository(kyselyDb, drizzleDb); const customShowDb = new CustomShowDB( - dbAccess.getKyselyDatabase(':memory:')!, - dbAccess.getConnection(':memory:')!.drizzle!, + kyselyDb, + drizzleDb, + basicProgramRepo, ); await use(customShowDb); @@ -614,6 +619,5 @@ describe('CustomShowDB', () => { expect(content[0]!.contentUuid).toBe(program1.uuid); expect(content[1]!.contentUuid).toBe(program2.uuid); }); - }); }); diff --git a/server/src/db/CustomShowDB.ts b/server/src/db/CustomShowDB.ts index 82b6d2179..e53e9320b 100644 --- a/server/src/db/CustomShowDB.ts +++ b/server/src/db/CustomShowDB.ts @@ -1,12 +1,7 @@ import { KEYS } from '@/types/inject.js'; -import { isNonEmptyString, parseFloatOrNull } from '@/util/index.js'; -import { createExternalId } from '@tunarr/shared'; -import { - ContentProgram, - isContentProgram, - isCustomProgram, - tag, -} from '@tunarr/types'; +import { parseFloatOrNull } from '@/util/index.js'; +import { seq } from '@tunarr/shared/util'; +import { CondensedContentProgram } from '@tunarr/types'; import { CreateCustomShowRequest, UpdateCustomShowRequest, @@ -15,10 +10,12 @@ import dayjs from 'dayjs'; import { count, eq, sum } from 'drizzle-orm'; import { inject, injectable } from 'inversify'; import { Kysely } from 'kysely'; -import { chunk, isNil, orderBy, uniqBy } from 'lodash-es'; +import { chunk, isNil } from 'lodash-es'; import { MarkRequired } from 'ts-essentials'; import { v4 } from 'uuid'; -import { MediaSourceId, MediaSourceType } from './schema/base.ts'; +import { InjectLogger } from '../util/inject.ts'; +import { Logger } from '../util/logging/LoggerFactory.ts'; +import { BasicProgramRepository } from './program/BasicProgramRepository.ts'; import { CustomShow, type NewCustomShow } from './schema/CustomShow.ts'; import { CustomShowContent, @@ -31,9 +28,13 @@ import { Program } from './schema/Program.ts'; @injectable() export class CustomShowDB { + @InjectLogger() declare private readonly logger: Logger; + constructor( @inject(KEYS.Database) private db: Kysely, @inject(KEYS.DrizzleDB) private drizzle: DrizzleDBAccess, + @inject(KEYS.BasicProgramRepository) + private basicProgramRepo: BasicProgramRepository, ) {} async getShow(id: string) { @@ -125,7 +126,7 @@ export class CustomShowDB { } if (updateRequest.programs && updateRequest.programs.length > 0) { - this.upsertCustomShowContent(show.uuid, updateRequest.programs); + await this.upsertCustomShowContent(show.uuid, updateRequest.programs); } const updates: Partial = {}; @@ -175,7 +176,7 @@ export class CustomShowDB { await this.db.insertInto('customShow').values(show).execute(); if (createRequest.programs.length > 0) { - this.upsertCustomShowContent(show.uuid, createRequest.programs); + await this.upsertCustomShowContent(show.uuid, createRequest.programs); } return show.uuid; @@ -262,76 +263,42 @@ export class CustomShowDB { .execute(); } - upsertCustomShowContent( + async upsertCustomShowContent( customShowId: string, - programs: ContentProgram[], - ): void { + programs: CondensedContentProgram[], + ): Promise { if (programs.length === 0) { return; } - const newProgramIndexesById = new Map(); - for (let i = 0; i < programs.length; i++) { - const program = programs[i]!; - if ( - (isCustomProgram(program) || program.program.sourceType === 'local') && - isNonEmptyString(program.id) - ) { - const existing = newProgramIndexesById.get(program.id) ?? []; - existing.push(i); - newProgramIndexesById.set(program.id, existing); - } else if ( - isContentProgram(program) && - program.program.sourceType !== 'local' - ) { - const key = createExternalId( - program.program.sourceType, - tag(program.program.mediaSourceId), - program.program.externalId, - ); - const existing = newProgramIndexesById.get(key) ?? []; - existing.push(i); - newProgramIndexesById.set(key, existing); - } + + const incomingProgramIds = new Set(programs.map((program) => program.id)); + const existingProgramIds = + await this.basicProgramRepo.filterNonExistentProgramIds([ + ...incomingProgramIds.values(), + ]); + + const missingProgramIds = incomingProgramIds.difference(existingProgramIds); + + // log about not found programs + if (missingProgramIds.size > 0) { + this.logger.warn( + 'Attempting to save %d program IDs to a custom show that do not exist in the DB. They will be dropped. IDs: %j', + missingProgramIds.size, + [...missingProgramIds.values()], + ); } - const allPrograms: { - uuid: string; - sourceType: MediaSourceType; - mediaSourceId: MediaSourceId; - externalKey: string; - }[] = uniqBy(programs, (p) => p.id).map((p) => ({ - uuid: p.id, - sourceType: p.program.sourceType, - mediaSourceId: tag(p.program.mediaSourceId), - externalKey: p.program.externalId, - })); - - const allNewCustomContent = orderBy( - allPrograms.flatMap((program) => { - let indexes = newProgramIndexesById.get(program.uuid); - if (!indexes && program.sourceType !== 'local') { - const externalId = createExternalId( - program.sourceType, - program.mediaSourceId, - program.externalKey, - ); - indexes = newProgramIndexesById.get(externalId); - } - if (!indexes) { - return []; - } - return indexes.map( - (index) => - ({ - customShowUuid: customShowId, - contentUuid: program.uuid, - index, - }) satisfies NewCustomShowContent, - ); - }), - (csc) => csc.index, - 'asc', - ); + const allNewCustomContent = seq.collect(programs, (program, index) => { + if (!existingProgramIds.has(program.id)) { + return; + } + + return { + customShowUuid: customShowId, + contentUuid: program.id, + index, + } satisfies NewCustomShowContent; + }); this.drizzle.transaction((tx) => { if (allNewCustomContent.length > 0) { diff --git a/server/src/db/program/BasicProgramRepository.ts b/server/src/db/program/BasicProgramRepository.ts index 94e23eb93..2a6234d0e 100644 --- a/server/src/db/program/BasicProgramRepository.ts +++ b/server/src/db/program/BasicProgramRepository.ts @@ -121,4 +121,30 @@ export class BasicProgramRepository { } return results; } + + /** + * Given an array of program IDs, return the set of those IDs which exist in + * the database. + */ + async filterNonExistentProgramIds( + programIds: string[], + ): Promise> { + const uniqIds = uniq(programIds); + if (uniqIds.length === 0) { + return new Set(); + } + + const promises = chunk(programIds, 500).map((programChunk) => + this.drizzleDB.query.program.findMany({ + where: (fields, { inArray }) => inArray(fields.uuid, programChunk), + columns: { + uuid: true, + }, + }), + ); + + const allPrograms = await Promise.all(promises); + + return new Set([...allPrograms.flat().map(({ uuid }) => uuid)]); + } } diff --git a/server/src/services/CustomShowSyncService.test.ts b/server/src/services/CustomShowSyncService.test.ts new file mode 100644 index 000000000..6d62dff3e --- /dev/null +++ b/server/src/services/CustomShowSyncService.test.ts @@ -0,0 +1,480 @@ +import { faker } from '@faker-js/faker'; +import type { + CondensedContentProgram, + Movie, + TerminalProgram, +} from '@tunarr/types'; +import { tag } from '@tunarr/types'; +import { describe, expect, it, vi } from 'vitest'; +import type { CustomShowDB } from '@/db/CustomShowDB.js'; +import type { IProgramDB } from '@/db/interfaces/IProgramDB.js'; +import type { MediaSourceDB } from '@/db/mediaSourceDB.js'; +import type { MediaSourceId, MediaSourceName } from '@/db/schema/base.js'; +import type { MediaSourceApiFactory } from '@/external/MediaSourceApiFactory.js'; +import type { MutexMap } from '@/util/mutexMap.js'; +import { Result } from '@/types/result.js'; +import type { GenericMediaSourceScannerFactory } from './scanner/MediaSourceScanner.js'; +import { CustomShowSyncService } from './CustomShowSyncService.js'; + +const { fakeLogger } = vi.hoisted(() => { + const fakeLogger = { + trace: vi.fn(), + debug: vi.fn(), + info: vi.fn(), + warn: vi.fn(), + error: vi.fn(), + fatal: vi.fn(), + child: () => fakeLogger, + }; + return { fakeLogger }; +}); + +// Suppress background task scheduling +vi.mock('@/services/Scheduler.js', () => ({ + GlobalScheduler: { scheduleOneOffTask: vi.fn(), removeTask: vi.fn() }, +})); +vi.mock('@/tasks/TaskQueue.js', () => ({ + PlexTaskQueue: { + pause: vi.fn(), + resume: vi.fn(), + add: vi.fn().mockResolvedValue(undefined), + }, + JellyfinTaskQueue: { + pause: vi.fn(), + resume: vi.fn(), + add: vi.fn().mockResolvedValue(undefined), + }, +})); +// Suppress logger +vi.mock('@/util/logging/LoggerFactory.js', () => ({ + LoggerFactory: { child: () => fakeLogger, root: fakeLogger }, +})); + +function makeMovie( + mediaSourceId: MediaSourceId, + libraryId: string, + overrides?: Partial, +): Movie { + return { + uuid: faker.string.uuid(), + sourceType: 'plex', + type: 'movie', + title: faker.word.words(3), + originalTitle: null, + sortTitle: faker.word.words(3), + year: faker.date.past().getFullYear(), + releaseDate: null, + releaseDateString: null, + rating: null, + summary: null, + plot: null, + tagline: null, + identifiers: [], + tags: [], + createdAt: null, + artwork: [], + state: 'ok', + canonicalId: faker.string.uuid(), + externalId: faker.string.alphanumeric(10), + mediaSourceId, + libraryId, + duration: faker.number.int({ min: 60_000, max: 7_200_000 }), + ...overrides, + }; +} + +function makeMocks() { + const mediaSourceId = tag(faker.string.uuid()); + const libraryId = faker.string.uuid(); + + const customShowDB = { + getShow: vi.fn(), + upsertCustomShowContent: vi.fn().mockResolvedValue(undefined), + updateLastSyncedAt: vi.fn().mockResolvedValue(undefined), + getSyncedShows: vi.fn(), + } as unknown as CustomShowDB; + + const mediaSourceApiFactory = { + getPlexApiClientById: vi.fn(), + } as unknown as MediaSourceApiFactory; + + const locks: MutexMap = { + runWithLockId: vi.fn((_id: string, cb: () => Promise) => cb()), + isLocked: vi.fn().mockReturnValue(false), + } as unknown as MutexMap; + + const mockScanner = { + scanSingle: vi.fn().mockResolvedValue(Result.success(undefined)), + }; + + const scannerFactory = vi.fn().mockReturnValue(mockScanner); + + const programDB = { + lookupByExternalIds: vi.fn().mockResolvedValue([]), + } as unknown as IProgramDB; + + const mediaSourceDB = { + getById: vi.fn().mockResolvedValue({ + uuid: mediaSourceId, + type: 'plex', + name: tag('Test Plex'), + libraries: [ + { + uuid: libraryId, + name: 'Movies', + mediaSourceId, + externalKey: 'library-ext-1', + mediaType: 'movies', + enabled: true, + lastScannedAt: null, + }, + ], + paths: [], + replacePaths: [], + }), + } as unknown as MediaSourceDB; + + const service = new CustomShowSyncService( + customShowDB, + mediaSourceApiFactory, + locks, + scannerFactory as unknown as GenericMediaSourceScannerFactory, + programDB, + mediaSourceDB, + ); + // Inject fake logger + Object.defineProperty(service, 'logger', { value: fakeLogger }); + + return { + service, + customShowDB, + mediaSourceApiFactory, + locks, + mockScanner, + scannerFactory, + programDB, + mediaSourceDB, + mediaSourceId, + libraryId, + }; +} + +describe('CustomShowSyncService', () => { + describe('syncShow', () => { + it('scans missing programs via the scanner and persists them to the DB and search index', async () => { + const { + service, + customShowDB, + mediaSourceApiFactory, + mockScanner, + scannerFactory, + programDB, + mediaSourceId, + libraryId, + } = makeMocks(); + + const customShowId = faker.string.uuid(); + const playlistId = faker.string.alphanumeric(8); + + // Two movies that do NOT exist in Tunarr yet + const movie1 = makeMovie(mediaSourceId, libraryId); + const movie2 = makeMovie(mediaSourceId, libraryId); + + vi.mocked(customShowDB.getShow).mockResolvedValue({ + uuid: customShowId, + name: 'Test Show', + syncMediaSourceId: mediaSourceId, + syncMediaSourceType: 'plex', + syncExternalPlaylistId: playlistId, + createdAt: Date.now(), + updatedAt: Date.now(), + lastSyncedAt: null, + content: [], + }); + + const plexClient = { + getItemChildren: vi.fn().mockResolvedValue(Result.success([])), + }; + vi.mocked(mediaSourceApiFactory.getPlexApiClientById).mockResolvedValue( + plexClient as never, + ); + + // Bypass the real playlist fetch by spying on the private method + const fetchSpy = vi + .spyOn(service as never, 'fetchPlaylistPrograms' as never) + .mockResolvedValue([movie1, movie2] as never); + + // After scanning, the programs should be looked up in the DB + // Simulate that they now exist (scanner persisted them) + const dbUuid1 = faker.string.uuid(); + const dbUuid2 = faker.string.uuid(); + vi.mocked(programDB.lookupByExternalIds).mockResolvedValue([ + { + uuid: dbUuid1, + sourceType: 'plex', + externalSourceId: mediaSourceId, + externalKey: movie1.externalId, + externalIds: [], + }, + { + uuid: dbUuid2, + sourceType: 'plex', + externalSourceId: mediaSourceId, + externalKey: movie2.externalId, + externalIds: [], + }, + ] as never); + + await service.syncShow(customShowId); + + // 1. Scanner was created for the correct source/library type + expect(scannerFactory).toHaveBeenCalledWith('plex', 'movies'); + + // 2. scanSingle was called once per movie with the correct library + externalId + expect(mockScanner.scanSingle).toHaveBeenCalledTimes(2); + expect(mockScanner.scanSingle).toHaveBeenCalledWith( + expect.objectContaining({ + library: expect.objectContaining({ uuid: libraryId }), + externalId: movie1.externalId, + }), + ); + expect(mockScanner.scanSingle).toHaveBeenCalledWith( + expect.objectContaining({ + library: expect.objectContaining({ uuid: libraryId }), + externalId: movie2.externalId, + }), + ); + + // 3. lookupByExternalIds was called to resolve DB UUIDs + expect(programDB.lookupByExternalIds).toHaveBeenCalledTimes(1); + + // 4. Custom show content was upserted with the DB UUIDs (not the original ones) + expect(customShowDB.upsertCustomShowContent).toHaveBeenCalledWith( + customShowId, + expect.arrayContaining([ + expect.objectContaining({ + id: dbUuid1, + type: 'content', + } satisfies Partial), + expect.objectContaining({ + id: dbUuid2, + type: 'content', + } satisfies Partial), + ]), + ); + + fetchSpy.mockRestore(); + }); + + it('groups episodes by show and scans once per show', async () => { + const { + service, + customShowDB, + mediaSourceApiFactory, + mockScanner, + scannerFactory, + programDB, + mediaSourceId, + libraryId, + } = makeMocks(); + + const customShowId = faker.string.uuid(); + const showExternalId = faker.string.alphanumeric(8); + + const makeEpisode = ( + seasonNum: number, + epNum: number, + ): TerminalProgram => ({ + uuid: faker.string.uuid(), + sourceType: 'plex', + type: 'episode', + title: `Episode ${epNum}`, + originalTitle: null, + sortTitle: `Episode ${epNum}`, + year: 2024, + releaseDate: null, + releaseDateString: null, + summary: null, + plot: null, + tagline: null, + identifiers: [], + tags: [], + createdAt: null, + artwork: [], + state: 'ok', + canonicalId: faker.string.uuid(), + externalId: faker.string.alphanumeric(10), + mediaSourceId, + libraryId, + duration: faker.number.int({ min: 1_200_000, max: 3_600_000 }), + seasonNumber: seasonNum, + episodeNumber: epNum, + show: { + uuid: faker.string.uuid(), + sourceType: 'plex', + type: 'show', + title: 'Test Show', + sortTitle: 'Test Show', + originalTitle: null, + year: 2024, + identifiers: [], + tags: [], + artwork: [], + externalId: showExternalId, + }, + }); + + const ep1 = makeEpisode(1, 1); + const ep2 = makeEpisode(1, 2); + const ep3 = makeEpisode(2, 1); + + vi.mocked(customShowDB.getShow).mockResolvedValue({ + uuid: customShowId, + name: 'Episode Show', + syncMediaSourceId: mediaSourceId, + syncMediaSourceType: 'plex', + syncExternalPlaylistId: 'playlist-1', + createdAt: Date.now(), + updatedAt: Date.now(), + lastSyncedAt: null, + content: [], + }); + + const fetchSpy = vi + .spyOn(service as never, 'fetchPlaylistPrograms' as never) + .mockResolvedValue([ep1, ep2, ep3] as never); + + // All episodes resolve to DB records + vi.mocked(programDB.lookupByExternalIds).mockResolvedValue( + [ep1, ep2, ep3].map((ep) => ({ + uuid: ep.uuid, + sourceType: 'plex', + externalSourceId: mediaSourceId, + externalKey: ep.externalId, + externalIds: [], + })) as never, + ); + + await service.syncShow(customShowId); + + // Scanner factory should have been called for shows (not movies) + expect(scannerFactory).toHaveBeenCalledWith('plex', 'shows'); + + // All 3 episodes share the same show, so scanSingle should be called once + expect(mockScanner.scanSingle).toHaveBeenCalledTimes(1); + expect(mockScanner.scanSingle).toHaveBeenCalledWith( + expect.objectContaining({ + externalId: showExternalId, + }), + ); + + // All 3 episodes should appear in upserted content + expect(customShowDB.upsertCustomShowContent).toHaveBeenCalledWith( + customShowId, + expect.arrayContaining([ + expect.objectContaining({ id: ep1.uuid, type: 'content' }), + expect.objectContaining({ id: ep2.uuid, type: 'content' }), + expect.objectContaining({ id: ep3.uuid, type: 'content' }), + ]), + ); + + fetchSpy.mockRestore(); + }); + + it('skips upsert and logs a warning when playlist returns 0 items', async () => { + const { service, customShowDB, mediaSourceApiFactory, mockScanner } = + makeMocks(); + + const customShowId = faker.string.uuid(); + + vi.mocked(customShowDB.getShow).mockResolvedValue({ + uuid: customShowId, + name: 'Empty Show', + syncMediaSourceId: faker.string.uuid(), + syncMediaSourceType: 'plex', + syncExternalPlaylistId: 'playlist-empty', + createdAt: Date.now(), + updatedAt: Date.now(), + lastSyncedAt: null, + content: [], + }); + + const fetchSpy = vi + .spyOn(service as never, 'fetchPlaylistPrograms' as never) + .mockResolvedValue([] as never); + + await service.syncShow(customShowId); + + // No scanning should occur + expect(mockScanner.scanSingle).not.toHaveBeenCalled(); + + // No content upsert + expect(customShowDB.upsertCustomShowContent).not.toHaveBeenCalled(); + + // Warning logged about 0 items + expect(fakeLogger.warn).toHaveBeenCalledWith( + expect.stringContaining('0 items'), + expect.anything(), + expect.anything(), + ); + + fetchSpy.mockRestore(); + }); + + it('continues scanning remaining programs when one scanSingle fails', async () => { + const { + service, + customShowDB, + mockScanner, + programDB, + mediaSourceId, + libraryId, + } = makeMocks(); + + const customShowId = faker.string.uuid(); + const movie1 = makeMovie(mediaSourceId, libraryId); + const movie2 = makeMovie(mediaSourceId, libraryId); + + vi.mocked(customShowDB.getShow).mockResolvedValue({ + uuid: customShowId, + name: 'Partial Fail', + syncMediaSourceId: mediaSourceId, + syncMediaSourceType: 'plex', + syncExternalPlaylistId: 'playlist-x', + createdAt: Date.now(), + updatedAt: Date.now(), + lastSyncedAt: null, + content: [], + }); + + vi.spyOn( + service as never, + 'fetchPlaylistPrograms' as never, + ).mockResolvedValue([movie1, movie2] as never); + + // First call fails, second succeeds + mockScanner.scanSingle + .mockResolvedValueOnce(Result.failure('scan error')) + .mockResolvedValueOnce(Result.success(undefined)); + + const dbUuid2 = faker.string.uuid(); + vi.mocked(programDB.lookupByExternalIds).mockResolvedValue([ + { + uuid: dbUuid2, + sourceType: 'plex', + externalSourceId: mediaSourceId, + externalKey: movie2.externalId, + externalIds: [], + }, + ] as never); + + await service.syncShow(customShowId); + + // Both programs should have been attempted + expect(mockScanner.scanSingle).toHaveBeenCalledTimes(2); + + // Content is still upserted — movie2 got a DB UUID, movie1 keeps its original + expect(customShowDB.upsertCustomShowContent).toHaveBeenCalledTimes(1); + }); + }); +}); diff --git a/server/src/services/CustomShowSyncService.ts b/server/src/services/CustomShowSyncService.ts index 3bf4308aa..1abda5187 100644 --- a/server/src/services/CustomShowSyncService.ts +++ b/server/src/services/CustomShowSyncService.ts @@ -1,19 +1,29 @@ -import { ProgramDaoMinter } from '@/db/converters/ProgramMinter.js'; import { CustomShowDB } from '@/db/CustomShowDB.js'; import type { IProgramDB } from '@/db/interfaces/IProgramDB.js'; import { MediaSourceDB } from '@/db/mediaSourceDB.js'; -import type { MediaSourceId } from '@/db/schema/base.js'; +import type { MediaSourceId, RemoteSourceType } from '@/db/schema/base.js'; +import type { + MediaLibraryType, + RemoteMediaSourceType, +} from '@/db/schema/MediaSource.js'; import { MediaSourceApiFactory } from '@/external/MediaSourceApiFactory.js'; import { KEYS } from '@/types/inject.js'; import { InjectLogger } from '@/util/inject.js'; import { Logger } from '@/util/logging/LoggerFactory.js'; import { MutexMap } from '@/util/mutexMap.js'; -import { ApiProgramMinter } from '@tunarr/shared'; import { seq } from '@tunarr/shared/util'; -import { isTerminalItemType, tag, type ContentProgram } from '@tunarr/types'; +import { + CondensedContentProgram, + isTerminalItemType, + tag, + type Episode, + type MusicTrack, + type TerminalProgram, +} from '@tunarr/types'; import { inject, injectable } from 'inversify'; -import { castArray } from 'lodash-es'; +import { groupBy } from 'lodash-es'; import { PlexHierarchyTraversal } from './PlexItemEnumerator.ts'; +import type { GenericMediaSourceScannerFactory } from './scanner/MediaSourceScanner.ts'; @injectable() export class CustomShowSyncService { @@ -24,8 +34,9 @@ export class CustomShowSyncService { @inject(MediaSourceApiFactory) private mediaSourceApiFactory: MediaSourceApiFactory, @inject(KEYS.MutexMap) private locks: MutexMap, + @inject(KEYS.MediaSourceLibraryScanner) + private scannerFactory: GenericMediaSourceScannerFactory, @inject(KEYS.ProgramDB) private programDB: IProgramDB, - @inject(ProgramDaoMinter) private programMinter: ProgramDaoMinter, @inject(MediaSourceDB) private mediaSourceDB: MediaSourceDB, ) {} @@ -87,7 +98,17 @@ export class CustomShowSyncService { tag(show.syncMediaSourceId), programs, ); - this.customShowDB.upsertCustomShowContent(show.uuid, programs); + await this.customShowDB.upsertCustomShowContent( + show.uuid, + programs.map( + (program) => + ({ + duration: program.duration, + id: program.uuid, + type: 'content', + }) satisfies CondensedContentProgram, + ), + ); } else { this.logger.warn( 'Got 0 items from external playlist (type = %s id = %s)', @@ -109,14 +130,9 @@ export class CustomShowSyncService { return this.locks.isLocked(id); } - /** - * Ensures that the programs referenced by the given ContentProgram[] - * exist in the program table, upserting them if necessary. Mutates - * each ContentProgram's `id` to match the actual DB UUID. - */ private async ensureProgramsExist( mediaSourceId: MediaSourceId, - programs: ContentProgram[], + programs: TerminalProgram[], ): Promise { const mediaSource = await this.mediaSourceDB.getById(mediaSourceId); if (!mediaSource) { @@ -127,41 +143,129 @@ export class CustomShowSyncService { mediaSource.libraries.map((lib) => [lib.uuid, lib]), ); - const mintedPrograms = seq.collect(programs, (cp) => { - const library = librariesById.get(cp.program.libraryId); - if (!library) { - this.logger.warn( - 'Library %s not found for program %s, skipping upsert', - cp.program.libraryId, - cp.id, - ); - return null; - } - return this.programMinter.mint(mediaSource, library, cp.program); - }); + const sourceType = mediaSource.type as RemoteMediaSourceType; - if (mintedPrograms.length === 0) { - return; + // Group programs by terminal type so we can select the right scanner + const programsByType = groupBy(programs, (p) => p.type); + + for (const [type, typePrograms] of Object.entries(programsByType)) { + const programType = type as TerminalProgram['type']; + const libraryType = terminalTypeToLibraryType(programType); + const scanner = this.scannerFactory(sourceType, libraryType); + + switch (programType) { + case 'episode': { + // scanSingle for shows takes the show's externalId, so group + // episodes by their parent show and scan once per show. + const byShow = groupBy( + typePrograms as Episode[], + (ep) => `${ep.libraryId}:${ep.show?.externalId}`, + ); + for (const [, episodes] of Object.entries(byShow)) { + const showExternalId = (episodes[0] as Episode).show?.externalId; + if (showExternalId === undefined) { + this.logger.warn( + 'Episode %s has no show externalId, skipping', + episodes[0]!.externalId, + ); + continue; + } + const library = librariesById.get(episodes[0]!.libraryId); + if (!library) continue; + const result = await scanner.scanSingle({ + library, + externalId: showExternalId, + }); + if (result.isFailure()) { + this.logger.warn( + result.error, + 'Failed to scan show %s', + showExternalId, + ); + } + } + break; + } + case 'track': { + // scanSingle for music takes the artist's externalId, so group + // tracks by their parent artist and scan once per artist. + const byArtist = groupBy( + typePrograms as MusicTrack[], + (t) => `${t.libraryId}:${t.artist?.externalId}`, + ); + for (const [, tracks] of Object.entries(byArtist)) { + const artistExternalId = (tracks[0] as MusicTrack).artist + ?.externalId; + if (artistExternalId === undefined) { + this.logger.warn( + 'Track %s has no artist externalId, skipping', + tracks[0]!.externalId, + ); + continue; + } + const library = librariesById.get(tracks[0]!.libraryId); + if (!library) continue; + const result = await scanner.scanSingle({ + library, + externalId: artistExternalId, + }); + if (result.isFailure()) { + this.logger.warn( + result.error, + 'Failed to scan artist %s', + artistExternalId, + ); + } + } + break; + } + default: { + // movies, other_videos, music_videos — scan each individually + for (const program of typePrograms) { + const library = librariesById.get(program.libraryId); + if (!library) continue; + const result = await scanner.scanSingle({ + library, + externalId: program.externalId, + }); + if (result.isFailure()) { + this.logger.warn( + result.error, + 'Failed to scan %s %s', + programType, + program.externalId, + ); + } + } + break; + } + } } - const upserted = castArray( - await this.programDB.upsertPrograms(mintedPrograms), + // After scanning, look up the Tunarr DB UUIDs for all programs + const lookupIds = new Set( + programs.map( + (p) => + [ + p.sourceType as RemoteSourceType, + mediaSourceId, + p.externalId, + ] as const, + ), ); - - // Build a lookup from (sourceType, mediaSourceId, externalKey) -> actual DB UUID + const dbPrograms = await this.programDB.lookupByExternalIds(lookupIds); const keyToUuid = new Map( - upserted.map((p) => [ - `${p.sourceType}:${p.mediaSourceId}:${p.externalKey}`, + dbPrograms.map((p) => [ + `${p.sourceType}:${p.externalSourceId}:${p.externalKey}`, p.uuid, ]), ); - // Update each ContentProgram's id to match the actual DB UUID - for (const cp of programs) { - const key = `${cp.program.sourceType}:${cp.program.mediaSourceId}:${cp.program.externalId}`; - const actualUuid = keyToUuid.get(key); - if (actualUuid !== undefined) { - cp.id = actualUuid; + for (const program of programs) { + const key = `${program.sourceType}:${program.mediaSourceId}:${program.externalId}`; + const dbUuid = keyToUuid.get(key); + if (dbUuid !== undefined) { + program.uuid = dbUuid; } } } @@ -170,7 +274,7 @@ export class CustomShowSyncService { sourceType: string, mediaSourceId: MediaSourceId, playlistId: string, - ): Promise { + ): Promise { switch (sourceType) { case 'plex': return this.fetchPlexPlaylistPrograms(mediaSourceId, playlistId); @@ -182,7 +286,7 @@ export class CustomShowSyncService { private async fetchPlexPlaylistPrograms( mediaSourceId: MediaSourceId, playlistId: string, - ): Promise { + ): Promise { const client = await this.mediaSourceApiFactory.getPlexApiClientById(mediaSourceId); @@ -207,8 +311,23 @@ export class CustomShowSyncService { client, ).expandAncestors(allPlaylistItems); - return seq.collect(expandedItems, (item) => - ApiProgramMinter.mintProgram(item), - ); + return expandedItems; + } +} + +function terminalTypeToLibraryType( + type: TerminalProgram['type'], +): MediaLibraryType { + switch (type) { + case 'movie': + return 'movies'; + case 'episode': + return 'shows'; + case 'track': + return 'tracks'; + case 'other_video': + return 'other_videos'; + case 'music_video': + return 'music_videos'; } } diff --git a/server/src/services/MeilisearchService.ts b/server/src/services/MeilisearchService.ts index 9a0c6ef43..4776b1989 100644 --- a/server/src/services/MeilisearchService.ts +++ b/server/src/services/MeilisearchService.ts @@ -1,7 +1,9 @@ import { nullToUndefined, seq } from '@tunarr/shared/util'; import { + Episode, FindChild, MediaStream, + MusicTrack as MusicTrackType, MusicVideo, tag, Tag, @@ -1152,6 +1154,157 @@ export class MeilisearchService implements ISearchService { ); } + async indexTerminalPrograms( + programs: (TerminalProgram & HasMediaSourceAndLibraryId)[], + ) { + if (isEmpty(programs)) return; + + const tasks: Promise[] = []; + + const episodes = programs.filter( + (p): p is Episode & HasMediaSourceAndLibraryId => p.type === 'episode', + ); + if (episodes.length > 0) { + const docs = episodes.map((ep) => { + const document = this.convertProgramToSearchDocument(ep); + const season = ep.season; + const show = season?.show ?? ep.show; + if (season) { + const seasonEids = (season.identifiers ?? []).map((eid) => ({ + id: eid.id, + source: eid.type, + sourceId: eid.sourceId + ? encodeCaseSensitiveId(eid.sourceId) + : undefined, + })); + document.parent = { + id: encodeCaseSensitiveId(season.uuid), + externalIds: seasonEids, + type: season.type, + externalIdsMerged: seasonEids.map( + (eid) => + `${season.type}_${eid.source}|${eid.sourceId ?? ''}|${eid.id}` satisfies MergedGroupingExternalId<'season'>, + ), + title: season.title, + year: season.year ?? undefined, + genres: season.genres?.map(({ name }) => name) ?? [], + studio: season.studios?.map(({ name }) => name) ?? [], + tags: season.tags ?? [], + }; + } + if (show) { + const showEids = (show.identifiers ?? []).map((eid) => ({ + id: eid.id, + source: eid.type, + sourceId: eid.sourceId + ? encodeCaseSensitiveId(eid.sourceId) + : undefined, + })); + document.grandparent = { + id: encodeCaseSensitiveId(show.uuid), + type: show.type, + externalIds: showEids, + externalIdsMerged: showEids.map( + (eid) => + `${show.type}_${eid.source}|${eid.sourceId ?? ''}|${eid.id}` satisfies MergedGroupingExternalId<'show'>, + ), + title: show.title, + year: show.year ?? undefined, + genres: show.genres?.map(({ name }) => name) ?? [], + studio: show.studios?.map(({ name }) => name) ?? [], + tags: show.tags ?? [], + rating: show.rating ?? undefined, + }; + } + return document; + }); + tasks.push( + ...this.client() + .index>(ProgramsIndex.name) + .addDocumentsInBatches(docs, 100), + ); + } + + const tracks = programs.filter( + (p): p is MusicTrackType & HasMediaSourceAndLibraryId => + p.type === 'track', + ); + if (tracks.length > 0) { + const docs = tracks.map((track) => { + const document = this.convertProgramToSearchDocument(track); + const album = track.album; + const artist = album?.artist; + if (album) { + const albumEids = (album.identifiers ?? []).map((eid) => ({ + id: eid.id, + source: eid.type, + sourceId: eid.sourceId + ? encodeCaseSensitiveId(eid.sourceId) + : undefined, + })); + document.parent = { + id: encodeCaseSensitiveId(album.uuid), + externalIds: albumEids, + type: album.type, + externalIdsMerged: albumEids.map( + (eid) => + `${album.type}_${eid.source}|${eid.sourceId ?? ''}|${eid.id}` satisfies MergedGroupingExternalId<'album'>, + ), + title: album.title, + year: album.year ?? undefined, + genres: album.genres?.map(({ name }) => name) ?? [], + studio: album.studios?.map(({ name }) => name) ?? [], + tags: album.tags ?? [], + }; + } + if (artist) { + const artistEids = (artist.identifiers ?? []).map((eid) => ({ + id: eid.id, + source: eid.type, + sourceId: eid.sourceId + ? encodeCaseSensitiveId(eid.sourceId) + : undefined, + })); + document.grandparent = { + id: encodeCaseSensitiveId(artist.uuid), + type: artist.type, + externalIds: artistEids, + externalIdsMerged: artistEids.map( + (eid) => + `${artist.type}_${eid.source}|${eid.sourceId ?? ''}|${eid.id}` satisfies MergedGroupingExternalId<'artist'>, + ), + title: artist.title, + genres: artist.genres?.map(({ name }) => name) ?? [], + tags: artist.tags ?? [], + studio: [], + }; + } + return document; + }); + tasks.push( + ...this.client() + .index>(ProgramsIndex.name) + .addDocumentsInBatches(docs, 100), + ); + } + + const others = programs.filter( + (p) => p.type !== 'episode' && p.type !== 'track', + ); + if (others.length > 0) { + tasks.push( + ...this.client() + .index(ProgramsIndex.name) + .addDocumentsInBatches( + others.map((p) => this.convertProgramToSearchDocument(p)), + 100, + ), + ); + } + + await Promise.all(tasks); + } + async search< IndexName extends keyof typeof IndexesByName, IndexDocumentTypeT extends Record< diff --git a/server/src/services/scanner/EmbyMediaSourceMovieScanner.ts b/server/src/services/scanner/EmbyMediaSourceMovieScanner.ts index 6bccfcba0..462bf6e1e 100644 --- a/server/src/services/scanner/EmbyMediaSourceMovieScanner.ts +++ b/server/src/services/scanner/EmbyMediaSourceMovieScanner.ts @@ -107,4 +107,11 @@ export class EmbyMediaSourceMovieScanner extends MediaSourceMovieLibraryScanner< ): Promise> { return EmbyScanUtil.getSubtitles(context, request); } + + protected scanMovieById( + context: ScanContext, + externalId: string, + ): Promise> { + return context.apiClient.getMovie(externalId); + } } diff --git a/server/src/services/scanner/EmbyMediaSourceMusicScanner.ts b/server/src/services/scanner/EmbyMediaSourceMusicScanner.ts index 400403714..074c5f000 100644 --- a/server/src/services/scanner/EmbyMediaSourceMusicScanner.ts +++ b/server/src/services/scanner/EmbyMediaSourceMusicScanner.ts @@ -123,4 +123,11 @@ export class EmbyMediaSourceMusicScanner extends MediaSourceMusicArtistScanner< ): Promise> { return EmbyScanUtil.getSubtitles(context, request); } + + protected getFullArtistMetadata( + externalId: string, + context: ScanContext, + ): Promise> { + return context.apiClient.getMusicArtist(externalId); + } } diff --git a/server/src/services/scanner/EmbyMediaSourceMusicVideoScanner.ts b/server/src/services/scanner/EmbyMediaSourceMusicVideoScanner.ts index b420543ca..964e5b6c0 100644 --- a/server/src/services/scanner/EmbyMediaSourceMusicVideoScanner.ts +++ b/server/src/services/scanner/EmbyMediaSourceMusicVideoScanner.ts @@ -78,19 +78,15 @@ export class EmbyMediaSourceMusicVideoScanner extends MediaSourceMusicVideoScann return _.getOrThrow(); } - protected async scanVideo( + protected async scanVideoById( context: ScanContext, - incomingVideo: EmbyMusicVideo, + externalKey: string, ): Promise> { - const convertedItem = await context.apiClient.getMusicVideo( - incomingVideo.externalId, - ); + const convertedItem = await context.apiClient.getMusicVideo(externalKey); return convertedItem.flatMap((item) => { if (!item) { return Result.failure( - WrappedError.forMessage( - `Could not find Emby item id ${incomingVideo.externalId}`, - ), + WrappedError.forMessage(`Could not find Emby item id ${externalKey}`), ); } diff --git a/server/src/services/scanner/EmbyMediaSourceOtherVideoScanner.ts b/server/src/services/scanner/EmbyMediaSourceOtherVideoScanner.ts index 4b0b82855..c0df74568 100644 --- a/server/src/services/scanner/EmbyMediaSourceOtherVideoScanner.ts +++ b/server/src/services/scanner/EmbyMediaSourceOtherVideoScanner.ts @@ -98,6 +98,22 @@ export class EmbyMediaSourceOtherVideoScanner extends MediaSourceOtherVideoScann }); } + protected async scanVideoById( + context: ScanContext, + externalKey: string, + ): Promise> { + const convertedItem = await context.apiClient.getVideo(externalKey); + return convertedItem.flatMap((item) => { + if (!item) { + return Result.failure( + WrappedError.forMessage(`Could not find Emby item id ${externalKey}`), + ); + } + + return Result.success(item); + }); + } + protected getExternalKey(video: EmbyOtherVideo): string { return video.externalId; } diff --git a/server/src/services/scanner/ExternalCollectionScanner.ts b/server/src/services/scanner/ExternalCollectionScanner.ts index 7d0d80f4a..2543636d8 100644 --- a/server/src/services/scanner/ExternalCollectionScanner.ts +++ b/server/src/services/scanner/ExternalCollectionScanner.ts @@ -295,7 +295,7 @@ export abstract class ExternalCollectionScanner< const currentTags = new Set(doc.tags); const updatesByType = groupByTyped(updates, (up) => up.type); const [directAdds, directDels] = partition( - updatesByType.direct, + updatesByType.get('direct') ?? [], (up) => up.opType === 'add', ); const newTags = currentTags @@ -307,15 +307,15 @@ export abstract class ExternalCollectionScanner< ); const partialUpdate: ProgramIndexPartialUpdate = { id: doc.id, - tags: isEmpty(updatesByType.direct) + tags: isEmpty(updatesByType.get('direct') ?? []) ? undefined : [...newTags.values()], }; - if (doc.parent && !isEmpty(updatesByType.parent)) { + if (doc.parent && !isEmpty(updatesByType.get('parent') ?? [])) { const currentParentTags = new Set(doc.parent.tags); const [parentAdds, parentDels] = partition( - updatesByType.parent, + updatesByType.get('parent') ?? [], (up) => up.opType === 'add', ); const newParentTags = currentParentTags @@ -331,10 +331,13 @@ export abstract class ExternalCollectionScanner< }; } - if (doc.grandparent && !isEmpty(updatesByType.grandparent)) { + if ( + doc.grandparent && + !isEmpty(updatesByType.get('grandparent') ?? []) + ) { const currentGrandparentTags = new Set(doc.grandparent.tags); const [adds, dels] = partition( - updatesByType.grandparent, + updatesByType.get('grandparent') ?? [], (up) => up.opType === 'add', ); const newGrandparentTags = currentGrandparentTags diff --git a/server/src/services/scanner/JellyfinMediaSourceMovieScanner.ts b/server/src/services/scanner/JellyfinMediaSourceMovieScanner.ts index 69a9c4f3d..ea1249a79 100644 --- a/server/src/services/scanner/JellyfinMediaSourceMovieScanner.ts +++ b/server/src/services/scanner/JellyfinMediaSourceMovieScanner.ts @@ -92,6 +92,13 @@ export class JellyfinMediaSourceMovieScanner extends MediaSourceMovieLibraryScan }); } + protected scanMovieById( + { apiClient }: ScanContext, + externalId: string, + ): Promise> { + return apiClient.getMovie(externalId); + } + protected getLibrarySize( libraryKey: string, context: ScanContext, diff --git a/server/src/services/scanner/JellyfinMediaSourceMusicScanner.ts b/server/src/services/scanner/JellyfinMediaSourceMusicScanner.ts index 28f69ce88..6aef3bf0a 100644 --- a/server/src/services/scanner/JellyfinMediaSourceMusicScanner.ts +++ b/server/src/services/scanner/JellyfinMediaSourceMusicScanner.ts @@ -94,6 +94,13 @@ export class JellyfinMediaSourceMusicScanner extends MediaSourceMusicArtistScann return context.apiClient.getMusicTrack(episodeT.externalId); } + protected getFullArtistMetadata( + externalId: string, + context: ScanContext, + ): Promise> { + return context.apiClient.getMusicArtist(externalId); + } + protected getApiClient( mediaSource: MediaSourceWithRelations, ): Promise { diff --git a/server/src/services/scanner/JellyfinMediaSourceMusicVideoScanner.ts b/server/src/services/scanner/JellyfinMediaSourceMusicVideoScanner.ts index ad34933be..830abb50d 100644 --- a/server/src/services/scanner/JellyfinMediaSourceMusicVideoScanner.ts +++ b/server/src/services/scanner/JellyfinMediaSourceMusicVideoScanner.ts @@ -78,25 +78,25 @@ export class JellyfinMediaSourceMusicVideoScanner extends MediaSourceMusicVideoS return _.getOrThrow(); } - protected async scanVideo( + protected async scanVideoById( context: ScanContext, - incomingVideo: JellyfinMusicVideo, + externalKey: string, ): Promise> { const convertedItem = await context.apiClient.getItem( - incomingVideo.externalId, + externalKey, 'MusicVideo', ); return convertedItem.flatMap((item) => { if (!item) { return Result.failure( WrappedError.forMessage( - `Could not find Jellyfin item id ${incomingVideo.externalId}`, + `Could not find Jellyfin item id ${externalKey}`, ), ); } else if (item.type !== 'music_video') { return Result.failure( WrappedError.forMessage( - `Expected item type to be music_video for ID ${incomingVideo.externalId} but got ${item.type}`, + `Expected item type to be music_video for ID ${externalKey} but got ${item.type}`, ), ); } diff --git a/server/src/services/scanner/JellyfinMediaSourceOtherVideoScanner.ts b/server/src/services/scanner/JellyfinMediaSourceOtherVideoScanner.ts index 3b0dc5e3b..d52c374f2 100644 --- a/server/src/services/scanner/JellyfinMediaSourceOtherVideoScanner.ts +++ b/server/src/services/scanner/JellyfinMediaSourceOtherVideoScanner.ts @@ -105,6 +105,30 @@ export class JellyfinMediaSourceOtherVideoScanner extends MediaSourceOtherVideoS }); } + protected async scanVideoById( + context: ScanContext, + externalKey: string, + ): Promise> { + const convertedItem = await context.apiClient.getItem(externalKey, 'Video'); + return convertedItem.flatMap((item) => { + if (!item) { + return Result.failure( + WrappedError.forMessage( + `Could not find Jellyfin item id ${externalKey}`, + ), + ); + } else if (item.type !== 'other_video') { + return Result.failure( + WrappedError.forMessage( + `Expected item type to be other_video for ID ${externalKey} but got ${item.type}`, + ), + ); + } + + return Result.success(item); + }); + } + protected getExternalKey(video: JellyfinOtherVideo): string { return video.externalId; } diff --git a/server/src/services/scanner/MediaSourceMovieLibraryScanner.ts b/server/src/services/scanner/MediaSourceMovieLibraryScanner.ts index eea2ba7b8..8b41b78c1 100644 --- a/server/src/services/scanner/MediaSourceMovieLibraryScanner.ts +++ b/server/src/services/scanner/MediaSourceMovieLibraryScanner.ts @@ -2,16 +2,21 @@ import { isNonEmptyString } from '@tunarr/shared/util'; import { differenceWith, head, isEmpty, round, values } from 'lodash-es'; import type { ProgramConverter } from '../../db/converters/ProgramConverter.ts'; import type { ProgramDaoMinter } from '../../db/converters/ProgramMinter.ts'; -import type { IProgramDB } from '../../db/interfaces/IProgramDB.ts'; +import type { + IProgramDB, + ProgramCanonicalIdLookupResult, +} from '../../db/interfaces/IProgramDB.ts'; import type { MediaSourceDB } from '../../db/mediaSourceDB.ts'; import type { RemoteMediaSourceType } from '../../db/schema/MediaSource.ts'; +import type { MediaSourceLibrary } from '../../db/schema/MediaSourceLibrary.ts'; import { ProgramType } from '../../db/schema/Program.ts'; import { isMovieProgram } from '../../db/schema/schemaTypeGuards.ts'; import type { MediaSourceApiClient } from '../../external/MediaSourceApiClient.ts'; import type { ExternalSubtitleDownloader } from '../../stream/ExternalSubtitleDownloader.ts'; import type { HasMediaSourceInfo, Movie } from '../../types/Media.ts'; import { Result } from '../../types/result.ts'; - +import type { Maybe } from '../../types/util.ts'; +import { devAssert } from '../../util/debug.ts'; import type { MeilisearchService } from '../MeilisearchService.ts'; import type { MediaSourceProgressService } from './MediaSourceProgressService.ts'; import type { ScanContext } from './MediaSourceScanner.ts'; @@ -25,6 +30,12 @@ export type GenericMediaSourceMovieLibraryScanner< MovieT >; +type SingleMovieScanRequest = { + library: MediaSourceLibrary; + externalId: string; + force?: boolean; +}; + export abstract class MediaSourceMovieLibraryScanner< MediaSourceTypeT extends RemoteMediaSourceType, ApiClientTypeT extends MediaSourceApiClient, @@ -50,12 +61,61 @@ export abstract class MediaSourceMovieLibraryScanner< super(mediaSourceDB, externalSubtitleDownloader); } + async scanSingle({ + library, + externalId, + force, + }: SingleMovieScanRequest): Promise> { + const mediaSource = await this.mediaSourceDB.getById(library.mediaSourceId); + + if (!mediaSource) { + throw new Error(`Media source ${library.mediaSourceId} not found.`); + } + + devAssert(mediaSource.type === this.mediaSourceType); + + this.logger.info( + 'Scanning %s library for single item (ID = %s, name = %s, item = %s, force = %s)', + mediaSource.type, + library.uuid, + library.name, + externalId, + force, + ); + + const client = await this.getApiClient(mediaSource); + const ctx = { + library, + mediaSource, + force: force ?? false, + apiClient: client, + scannedEntities: 0, + totalEntities: 0, + } satisfies ScanContext; + + const apiMovie = await this.scanMovieById(ctx, externalId); + + if (apiMovie.isFailure()) { + return apiMovie.recast(); + } + + const existingMovie = await this.programDB.lookupByExternalId({ + sourceType: this.mediaSourceType, + externalSourceId: mediaSource.uuid, + externalKey: externalId, + }); + + return Result.attemptAsync(() => + this.scanSingleInternal(ctx, apiMovie.get(), existingMovie), + ); + } + protected async scanInternal( context: ScanContext, ): Promise { this.mediaSourceProgressService.scanStarted(context.library.uuid); - const { mediaSource, library, force, pathFilter } = context; + const { library, pathFilter } = context; const existingPrograms = await this.programDB.getProgramInfoForMediaSourceLibrary( library.uuid, @@ -83,88 +143,18 @@ export abstract class MediaSourceMovieLibraryScanner< seenMovieIds.add(incomingMovie.externalId); + await this.scanSingleInternal( + context, + incomingMovie, + existingPrograms[incomingMovie.externalId], + ); + const processedAmount = round(seenMovieIds.size / totalSize, 2) * 100.0; this.mediaSourceProgressService.scanProgress( library.uuid, processedAmount, ); - - const fullMovieResult = await this.scanMovie(context, incomingMovie); - - if (fullMovieResult.isFailure()) { - this.logger.warn( - fullMovieResult.error, - 'Error querying full movie metadata for ID = %s', - incomingMovie.externalId, - ); - continue; - } - - const fullMovie = fullMovieResult.get(); - - const existingMovie = existingPrograms[fullMovie.externalId]; - if ( - !force && - existingMovie && - existingMovie.canonicalId && - existingMovie.canonicalId === incomingMovie.canonicalId - ) { - this.logger.debug( - 'Found an unchanged program: rating key = %s, program ID = %s', - fullMovie.externalId, - existingMovie.uuid, - ); - continue; - } - - const minted = this.programMinter.mintMovie( - mediaSource, - library, - fullMovie, - ); - - await this.downloadExternalSubtitleStreams(minted, (req) => - this.getSubtitles(context, { - ...req, - externalMediaItemId: fullMovie.mediaItem?.externalKey ?? undefined, - }), - ); - - const upsertResult = await Result.attemptAsync(() => - this.programDB.upsertPrograms([minted]), - ); - if (upsertResult.isFailure()) { - this.logger.warn( - upsertResult.error, - 'Error while processing movie (%O)', - incomingMovie, - ); - - continue; - } - - const dbMovie = head(upsertResult.get().filter(isMovieProgram)); - - if (dbMovie) { - this.logger.debug( - 'Upserted movie %s (ID = %s)', - dbMovie?.title, - dbMovie?.uuid, - ); - - await this.searchService.indexMovie([ - { - ...fullMovie, - uuid: dbMovie.uuid, - createdAt: dbMovie.createdAt, - mediaSourceId: mediaSource.uuid, - libraryId: library.uuid, - }, - ]); - } else { - this.logger.warn('No upserted movie'); - } } if (isEmpty(context.pathFilter)) { @@ -194,11 +184,99 @@ export abstract class MediaSourceMovieLibraryScanner< this.mediaSourceProgressService.scanEnded(context.library.uuid); } + protected async scanSingleInternal( + context: ScanContext, + incomingMovie: MovieT, + existingMovie: Maybe, + ) { + const { mediaSource, library, force } = context; + + const fullMovieResult = await this.scanMovie(context, incomingMovie); + + if (fullMovieResult.isFailure()) { + this.logger.warn( + fullMovieResult.error, + 'Error querying full movie metadata for ID = %s', + incomingMovie.externalId, + ); + return; + } + + const fullMovie = fullMovieResult.get(); + + if ( + !force && + existingMovie && + existingMovie.canonicalId && + existingMovie.canonicalId === incomingMovie.canonicalId + ) { + this.logger.debug( + 'Found an unchanged program: rating key = %s, program ID = %s', + fullMovie.externalId, + existingMovie.uuid, + ); + return; + } + + const minted = this.programMinter.mintMovie( + mediaSource, + library, + fullMovie, + ); + + await this.downloadExternalSubtitleStreams(minted, (req) => + this.getSubtitles(context, { + ...req, + externalMediaItemId: fullMovie.mediaItem?.externalKey ?? undefined, + }), + ); + + const upsertResult = await Result.attemptAsync(() => + this.programDB.upsertPrograms([minted]), + ); + if (upsertResult.isFailure()) { + this.logger.warn( + upsertResult.error, + 'Error while processing movie (%O)', + incomingMovie, + ); + + return; + } + + const dbMovie = head(upsertResult.get().filter(isMovieProgram)); + + if (dbMovie) { + this.logger.debug( + 'Upserted movie %s (ID = %s)', + dbMovie?.title, + dbMovie?.uuid, + ); + + await this.searchService.indexMovie([ + { + ...fullMovie, + uuid: dbMovie.uuid, + createdAt: dbMovie.createdAt, + mediaSourceId: mediaSource.uuid, + libraryId: library.uuid, + }, + ]); + } else { + this.logger.warn('No upserted movie'); + } + } + protected abstract scanMovie( context: ScanContext, incomingMovie: MovieT, ): Promise>; + protected abstract scanMovieById( + context: ScanContext, + externalId: string, + ): Promise>; + protected abstract getLibrarySize( libraryKey: string, context: ScanContext, diff --git a/server/src/services/scanner/MediaSourceMusicArtistScanner.ts b/server/src/services/scanner/MediaSourceMusicArtistScanner.ts index 5fba36d8c..44e13158f 100644 --- a/server/src/services/scanner/MediaSourceMusicArtistScanner.ts +++ b/server/src/services/scanner/MediaSourceMusicArtistScanner.ts @@ -31,10 +31,12 @@ import type { import { Result } from '../../types/result.ts'; import type { Maybe } from '../../types/util.ts'; -import type { MeilisearchService } from '../MeilisearchService.ts'; +import { isNonEmptyString } from '@tunarr/shared/util'; import type { ExternalSubtitleDownloader } from '../../stream/ExternalSubtitleDownloader.ts'; +import { devAssert } from '../../util/debug.ts'; +import type { MeilisearchService } from '../MeilisearchService.ts'; import type { MediaSourceProgressService } from './MediaSourceProgressService.ts'; -import type { ScanContext } from './MediaSourceScanner.ts'; +import type { ScanContext, ScanSingleRequest } from './MediaSourceScanner.ts'; import { MediaSourceScanner } from './MediaSourceScanner.ts'; export type GenericMediaSourceMusicLibraryScanner< @@ -83,6 +85,68 @@ export abstract class MediaSourceMusicArtistScanner< super(mediaSourceDB, externalSubtitleDownloader); } + async scanSingle({ + library, + force, + externalId, + }: ScanSingleRequest): Promise> { + const mediaSource = await this.mediaSourceDB.getById(library.mediaSourceId); + + if (!mediaSource) { + throw new Error(`Media source ${library.mediaSourceId} not found.`); + } + + devAssert(mediaSource.type === this.mediaSourceType); + + this.logger.info( + 'Scanning %s library for single item (ID = %s, name = %s, item = %s, force = %s)', + mediaSource.type, + library.uuid, + library.name, + externalId, + force, + ); + + const client = await this.getApiClient(mediaSource); + const ctx: ScanContext = { + library, + mediaSource, + force: force ?? false, + apiClient: client, + scannedEntities: 0, + totalEntities: 1, + }; + + const incomingArtist = await this.getFullArtistMetadata(externalId, ctx); + + if (incomingArtist.isFailure()) { + return incomingArtist.recast(); + } + + const existingShow = await this.programDB.getProgramGroupingByExternalId({ + sourceType: this.mediaSourceType, + externalSourceId: mediaSource.uuid, + externalKey: externalId, + }); + + let lookupResult: Maybe; + if ( + existingShow?.type === 'show' && + isNonEmptyString(existingShow.libraryId) + ) { + lookupResult = { + canonicalId: existingShow.canonicalId, + externalKey: externalId, + libraryId: existingShow.libraryId, + uuid: existingShow.uuid, + }; + } + + return (await this.scanArtist(incomingArtist.get(), lookupResult, ctx)).map( + () => void 0, + ); + } + protected async scanInternal( context: ScanContext, ): Promise { @@ -551,6 +615,11 @@ export abstract class MediaSourceMusicArtistScanner< context: ScanContext, ): AsyncIterable; + protected abstract getFullArtistMetadata( + externalId: string, + context: ScanContext, + ): Promise>; + protected abstract getAlbums( show: ArtistT, context: ScanContext, diff --git a/server/src/services/scanner/MediaSourceMusicVideoScanner.ts b/server/src/services/scanner/MediaSourceMusicVideoScanner.ts index e26d687f4..6be76c0b0 100644 --- a/server/src/services/scanner/MediaSourceMusicVideoScanner.ts +++ b/server/src/services/scanner/MediaSourceMusicVideoScanner.ts @@ -1,7 +1,10 @@ import type { MusicVideo } from '@tunarr/types'; import { differenceWith, head, round, values } from 'lodash-es'; import type { ProgramDaoMinter } from '../../db/converters/ProgramMinter.ts'; -import type { IProgramDB } from '../../db/interfaces/IProgramDB.ts'; +import type { + IProgramDB, + ProgramCanonicalIdLookupResult, +} from '../../db/interfaces/IProgramDB.ts'; import type { MediaSourceDB } from '../../db/mediaSourceDB.ts'; import type { RemoteMediaSourceType } from '../../db/schema/MediaSource.ts'; import { ProgramType } from '../../db/schema/Program.ts'; @@ -9,10 +12,11 @@ import type { MediaSourceApiClient } from '../../external/MediaSourceApiClient.t import type { ExternalSubtitleDownloader } from '../../stream/ExternalSubtitleDownloader.ts'; import type { HasMediaSourceInfo } from '../../types/Media.ts'; import { Result } from '../../types/result.ts'; - +import type { Maybe } from '../../types/util.ts'; +import { devAssert } from '../../util/debug.ts'; import type { MeilisearchService } from '../MeilisearchService.ts'; import type { MediaSourceProgressService } from './MediaSourceProgressService.ts'; -import type { ScanContext } from './MediaSourceScanner.ts'; +import type { ScanContext, ScanSingleRequest } from './MediaSourceScanner.ts'; import { MediaSourceScanner } from './MediaSourceScanner.ts'; export type GenericMediaSourceMusicVideoLibraryScanner< @@ -39,12 +43,61 @@ export abstract class MediaSourceMusicVideoScanner< super(mediaSourceDB, externalSubtitleDownloader); } + async scanSingle({ + library, + externalId, + force, + }: ScanSingleRequest): Promise> { + const mediaSource = await this.mediaSourceDB.getById(library.mediaSourceId); + + if (!mediaSource) { + throw new Error(`Media source ${library.mediaSourceId} not found.`); + } + + devAssert(mediaSource.type === this.mediaSourceType); + + this.logger.info( + 'Scanning %s library for single item (ID = %s, name = %s, item = %s, force = %s)', + mediaSource.type, + library.uuid, + library.name, + externalId, + force, + ); + + const client = await this.getApiClient(mediaSource); + const ctx = { + library, + mediaSource, + force: force ?? false, + apiClient: client, + scannedEntities: 0, + totalEntities: 0, + } satisfies ScanContext; + + const apiVideo = await this.scanVideoById(ctx, externalId); + + if (apiVideo.isFailure()) { + return apiVideo.recast(); + } + + const existingMovie = await this.programDB.lookupByExternalId({ + sourceType: this.mediaSourceType, + externalSourceId: mediaSource.uuid, + externalKey: externalId, + }); + + return Result.attemptAsync(() => + this.scanSingleInternal(ctx, apiVideo.get(), existingMovie), + ); + } + protected async scanInternal( context: ScanContext, ): Promise { this.mediaSourceProgressService.scanStarted(context.library.uuid); - const { library, mediaSource, force } = context; + const { library } = context; const existingPrograms = await this.programDB.getProgramInfoForMediaSourceLibrary( @@ -66,18 +119,11 @@ export abstract class MediaSourceMusicVideoScanner< seenVideos.add(externalKey); - const fullMetadataResult = await this.scanVideo(context, video); - - if (fullMetadataResult.isFailure()) { - this.logger.warn( - fullMetadataResult.error, - 'Failed to request full metadata for video %s', - video.externalId, - ); - continue; - } - - const fullMetadata = fullMetadataResult.get(); + await this.scanSingleInternal( + context, + video, + existingPrograms[externalKey], + ); const processedAmount = round(seenVideos.size / totalSize, 2) * 100.0; @@ -85,61 +131,6 @@ export abstract class MediaSourceMusicVideoScanner< library.uuid, processedAmount, ); - - const existingVideo = existingPrograms[externalKey]; - if ( - !force && - existingVideo && - existingVideo.canonicalId && - existingVideo.canonicalId === fullMetadata.canonicalId - ) { - this.logger.debug( - 'Found an unchanged program: rating key = %s, program ID = %s', - externalKey, - existingVideo.uuid, - ); - continue; - } - - const minted = this.programMinter.mintMusicVideo( - mediaSource, - library, - fullMetadata, - ); - - const upsertResult = await Result.attemptAsync(() => - this.programDB.upsertPrograms([minted]), - ); - - if (upsertResult.isFailure()) { - this.logger.warn( - upsertResult.error, - 'Error while processing video (%O)', - video, - ); - - continue; - } - - const dbVideo = head(upsertResult.get()); - if (dbVideo) { - this.logger.debug( - 'Upserted video %s (ID = %s)', - dbVideo?.title, - dbVideo?.uuid, - ); - - await this.searchService.indexMusicVideo([ - { - ...fullMetadata, - uuid: dbVideo.uuid, - mediaSourceId: mediaSource.uuid, - libraryId: library.uuid, - }, - ]); - } else { - this.logger.warn('No upserted video'); - } } const missingVideos = differenceWith( @@ -165,13 +156,101 @@ export abstract class MediaSourceMusicVideoScanner< } } + protected async scanSingleInternal( + context: ScanContext, + video: MusicVideoTypeT, + existingVideo: Maybe, + ) { + const { force, library, mediaSource } = context; + const fullMetadataResult = await this.scanVideo(context, video); + + if (fullMetadataResult.isFailure()) { + this.logger.warn( + fullMetadataResult.error, + 'Failed to request full metadata for video %s', + video.externalId, + ); + return; + } + + const fullMetadata = fullMetadataResult.get(); + + if ( + !force && + existingVideo && + existingVideo.canonicalId && + existingVideo.canonicalId === fullMetadata.canonicalId + ) { + this.logger.debug( + 'Found an unchanged program: rating key = %s, program ID = %s', + video.externalId, + existingVideo.uuid, + ); + return; + } + + const minted = this.programMinter.mintMusicVideo( + mediaSource, + library, + fullMetadata, + ); + + await this.downloadExternalSubtitleStreams(minted, (req) => + this.getSubtitles(context, { + ...req, + externalMediaItemId: fullMetadata.mediaItem?.externalKey ?? undefined, + }), + ); + + const upsertResult = await Result.attemptAsync(() => + this.programDB.upsertPrograms([minted]), + ); + + if (upsertResult.isFailure()) { + this.logger.warn( + upsertResult.error, + 'Error while processing video (%O)', + video, + ); + + return; + } + + const dbVideo = head(upsertResult.get()); + if (dbVideo) { + this.logger.debug( + 'Upserted video %s (ID = %s)', + dbVideo?.title, + dbVideo?.uuid, + ); + + await this.searchService.indexMusicVideo([ + { + ...fullMetadata, + uuid: dbVideo.uuid, + mediaSourceId: mediaSource.uuid, + libraryId: library.uuid, + }, + ]); + } else { + this.logger.warn('No upserted video'); + } + } + protected abstract getVideos( libraryId: string, context: ScanContext, ): AsyncIterable; - protected abstract scanVideo( + protected scanVideo( context: ScanContext, incomingVideo: MusicVideoTypeT, + ): Promise> { + return this.scanVideoById(context, incomingVideo.externalId); + } + + protected abstract scanVideoById( + context: ScanContext, + externalId: string, ): Promise>; } diff --git a/server/src/services/scanner/MediaSourceOtherVideoScanner.ts b/server/src/services/scanner/MediaSourceOtherVideoScanner.ts index 8dc5c8c5b..6914e8aad 100644 --- a/server/src/services/scanner/MediaSourceOtherVideoScanner.ts +++ b/server/src/services/scanner/MediaSourceOtherVideoScanner.ts @@ -1,6 +1,9 @@ import { differenceWith, head, round, values } from 'lodash-es'; import type { ProgramDaoMinter } from '../../db/converters/ProgramMinter.ts'; -import type { IProgramDB } from '../../db/interfaces/IProgramDB.ts'; +import type { + IProgramDB, + ProgramCanonicalIdLookupResult, +} from '../../db/interfaces/IProgramDB.ts'; import type { MediaSourceDB } from '../../db/mediaSourceDB.ts'; import type { RemoteMediaSourceType } from '../../db/schema/MediaSource.ts'; import { ProgramType } from '../../db/schema/Program.ts'; @@ -8,10 +11,11 @@ import type { MediaSourceApiClient } from '../../external/MediaSourceApiClient.t import type { ExternalSubtitleDownloader } from '../../stream/ExternalSubtitleDownloader.ts'; import type { HasMediaSourceInfo, OtherVideo } from '../../types/Media.ts'; import { Result } from '../../types/result.ts'; - +import type { Maybe } from '../../types/util.ts'; +import { devAssert } from '../../util/debug.ts'; import type { MeilisearchService } from '../MeilisearchService.ts'; import type { MediaSourceProgressService } from './MediaSourceProgressService.ts'; -import type { ScanContext } from './MediaSourceScanner.ts'; +import type { ScanContext, ScanSingleRequest } from './MediaSourceScanner.ts'; import { MediaSourceScanner } from './MediaSourceScanner.ts'; export type GenericMediaSourceOtherVideoLibraryScanner< @@ -38,12 +42,61 @@ export abstract class MediaSourceOtherVideoScanner< super(mediaSourceDB, externalSubtitleDownloader); } + async scanSingle({ + library, + force, + externalId, + }: ScanSingleRequest): Promise> { + const mediaSource = await this.mediaSourceDB.getById(library.mediaSourceId); + + if (!mediaSource) { + throw new Error(`Media source ${library.mediaSourceId} not found.`); + } + + devAssert(mediaSource.type === this.mediaSourceType); + + this.logger.info( + 'Scanning %s library for single item (ID = %s, name = %s, item = %s, force = %s)', + mediaSource.type, + library.uuid, + library.name, + externalId, + force, + ); + + const client = await this.getApiClient(mediaSource); + const ctx = { + library, + mediaSource, + force: force ?? false, + apiClient: client, + scannedEntities: 0, + totalEntities: 0, + } satisfies ScanContext; + + const apiVideo = await this.scanVideoById(ctx, externalId); + + if (apiVideo.isFailure()) { + return apiVideo.recast(); + } + + const existingVideo = await this.programDB.lookupByExternalId({ + sourceType: this.mediaSourceType, + externalSourceId: mediaSource.uuid, + externalKey: externalId, + }); + + return Result.attemptAsync(() => + this.scanSingleInternal(ctx, apiVideo.get(), existingVideo), + ); + } + protected async scanInternal( context: ScanContext, ): Promise { this.mediaSourceProgressService.scanStarted(context.library.uuid); - const { library, mediaSource, force } = context; + const { library } = context; const existingPrograms = await this.programDB.getProgramInfoForMediaSourceLibrary( @@ -65,18 +118,11 @@ export abstract class MediaSourceOtherVideoScanner< seenVideos.add(externalKey); - const fullMetadataResult = await this.scanVideo(context, video); - - if (fullMetadataResult.isFailure()) { - this.logger.warn( - fullMetadataResult.error, - 'Failed to request full metadata for video %s', - video.externalId, - ); - continue; - } - - const fullMetadata = fullMetadataResult.get(); + await this.scanSingleInternal( + context, + video, + existingPrograms[externalKey], + ); const processedAmount = round(seenVideos.size / totalSize, 2) * 100.0; @@ -84,70 +130,6 @@ export abstract class MediaSourceOtherVideoScanner< library.uuid, processedAmount, ); - - const existingVideo = existingPrograms[externalKey]; - if ( - !force && - existingVideo && - existingVideo.canonicalId && - existingVideo.canonicalId === fullMetadata.canonicalId - ) { - this.logger.debug( - 'Found an unchanged program: rating key = %s, program ID = %s', - externalKey, - existingVideo.uuid, - ); - continue; - } - - const minted = this.programMinter.mintOtherVideo( - mediaSource, - library, - fullMetadata, - ); - - await this.downloadExternalSubtitleStreams(minted, (req) => - this.getSubtitles(context, { - ...req, - externalMediaItemId: - fullMetadata.mediaItem?.externalKey ?? undefined, - }), - ); - - const upsertResult = await Result.attemptAsync(() => - this.programDB.upsertPrograms([minted]), - ); - - if (upsertResult.isFailure()) { - this.logger.warn( - upsertResult.error, - 'Error while processing video (%O)', - video, - ); - - continue; - } - - // const [fullApiVideo, upsertedDbVideos] = result.get(); - const dbVideo = head(upsertResult.get()); - if (dbVideo) { - this.logger.debug( - 'Upserted video %s (ID = %s)', - dbVideo?.title, - dbVideo?.uuid, - ); - - await this.searchService.indexOtherVideo([ - { - ...fullMetadata, - uuid: dbVideo.uuid, - mediaSourceId: mediaSource.uuid, - libraryId: library.uuid, - }, - ]); - } else { - this.logger.warn('No upserted video'); - } } const missingVideos = differenceWith( @@ -173,13 +155,101 @@ export abstract class MediaSourceOtherVideoScanner< } } + protected async scanSingleInternal( + context: ScanContext, + video: OtherVideoTypeT, + existingVideo: Maybe, + ) { + const { force, library, mediaSource } = context; + const fullMetadataResult = await this.scanVideo(context, video); + + if (fullMetadataResult.isFailure()) { + this.logger.warn( + fullMetadataResult.error, + 'Failed to request full metadata for video %s', + video.externalId, + ); + return; + } + + const fullMetadata = fullMetadataResult.get(); + + if ( + !force && + existingVideo && + existingVideo.canonicalId && + existingVideo.canonicalId === fullMetadata.canonicalId + ) { + this.logger.debug( + 'Found an unchanged program: rating key = %s, program ID = %s', + video.externalId, + existingVideo.uuid, + ); + return; + } + + const minted = this.programMinter.mintOtherVideo( + mediaSource, + library, + fullMetadata, + ); + + await this.downloadExternalSubtitleStreams(minted, (req) => + this.getSubtitles(context, { + ...req, + externalMediaItemId: fullMetadata.mediaItem?.externalKey ?? undefined, + }), + ); + + const upsertResult = await Result.attemptAsync(() => + this.programDB.upsertPrograms([minted]), + ); + + if (upsertResult.isFailure()) { + this.logger.warn( + upsertResult.error, + 'Error while processing video (%O)', + video, + ); + + return; + } + + const dbVideo = head(upsertResult.get()); + if (dbVideo) { + this.logger.debug( + 'Upserted video %s (ID = %s)', + dbVideo?.title, + dbVideo?.uuid, + ); + + await this.searchService.indexOtherVideo([ + { + ...fullMetadata, + uuid: dbVideo.uuid, + mediaSourceId: mediaSource.uuid, + libraryId: library.uuid, + }, + ]); + } else { + this.logger.warn('No upserted video'); + } + } + protected abstract getVideos( libraryId: string, context: ScanContext, ): AsyncIterable; - protected abstract scanVideo( + protected scanVideo( context: ScanContext, incomingVideo: OtherVideoTypeT, + ): Promise> { + return this.scanVideoById(context, incomingVideo.externalId); + } + + protected abstract scanVideoById( + context: ScanContext, + externalKey: string, ): Promise>; } diff --git a/server/src/services/scanner/MediaSourceScanner.ts b/server/src/services/scanner/MediaSourceScanner.ts index 60533e392..799a3d928 100644 --- a/server/src/services/scanner/MediaSourceScanner.ts +++ b/server/src/services/scanner/MediaSourceScanner.ts @@ -25,12 +25,22 @@ export type ScanRequest = { pathFilter?: string; }; +export type ScanSingleRequest = { + library: MediaSourceLibrary; + externalId: string; + force?: boolean; +}; + export type ScanContext = { library: MediaSourceLibrary; mediaSource: MediaSourceOrm; apiClient: ApiClientTypeT; force: boolean; pathFilter?: string; + + // internal state + scannedEntities: number; + totalEntities: number; }; export type RunState = @@ -120,6 +130,8 @@ export abstract class MediaSourceScanner< force: force ?? false, apiClient: await this.getApiClient(mediaSource), pathFilter, + scannedEntities: 0, + totalEntities: 0, }); await this.mediaSourceDB.setLibraryLastScannedTime(library.uuid, dayjs()); @@ -128,6 +140,8 @@ export abstract class MediaSourceScanner< } } + abstract scanSingle(req: ScanSingleRequest): Promise>; + cancel(libraryId: string) { this.logger.info('Request to cancel scan for library %s', libraryId); this.#state.set(libraryId, 'canceled'); diff --git a/server/src/services/scanner/MediaSourceTvShowLibraryScanner.ts b/server/src/services/scanner/MediaSourceTvShowLibraryScanner.ts index 7c9751eaf..0996c0ad4 100644 --- a/server/src/services/scanner/MediaSourceTvShowLibraryScanner.ts +++ b/server/src/services/scanner/MediaSourceTvShowLibraryScanner.ts @@ -24,9 +24,10 @@ import type { import { Result } from '../../types/result.ts'; import type { Maybe } from '../../types/util.ts'; +import { devAssert } from '../../util/debug.ts'; import type { MeilisearchService } from '../MeilisearchService.ts'; import type { MediaSourceProgressService } from './MediaSourceProgressService.ts'; -import type { ScanContext } from './MediaSourceScanner.ts'; +import type { ScanContext, ScanSingleRequest } from './MediaSourceScanner.ts'; import { MediaSourceScanner } from './MediaSourceScanner.ts'; export type GenericMediaSourceTvShowLibraryScanner< @@ -66,6 +67,68 @@ export abstract class MediaSourceTvShowLibraryScanner< super(mediaSourceDB, externalSubtitleDownloader); } + async scanSingle({ + library, + force, + externalId, + }: ScanSingleRequest): Promise> { + const mediaSource = await this.mediaSourceDB.getById(library.mediaSourceId); + + if (!mediaSource) { + throw new Error(`Media source ${library.mediaSourceId} not found.`); + } + + devAssert(mediaSource.type === this.mediaSourceType); + + this.logger.info( + 'Scanning %s library for single item (ID = %s, name = %s, item = %s, force = %s)', + mediaSource.type, + library.uuid, + library.name, + externalId, + force, + ); + + const client = await this.getApiClient(mediaSource); + const ctx: ScanContext = { + library, + mediaSource, + force: force ?? false, + apiClient: client, + scannedEntities: 0, + totalEntities: 1, + }; + + const incomingShow = await this.getFullTvShowMetadata(externalId, ctx); + + if (incomingShow.isFailure()) { + return incomingShow.recast(); + } + + const existingShow = await this.programDB.getProgramGroupingByExternalId({ + sourceType: this.mediaSourceType, + externalSourceId: mediaSource.uuid, + externalKey: externalId, + }); + + let lookupResult: Maybe; + if ( + existingShow?.type === 'show' && + isNonEmptyString(existingShow.libraryId) + ) { + lookupResult = { + canonicalId: existingShow.canonicalId, + externalKey: externalId, + libraryId: existingShow.libraryId, + uuid: existingShow.uuid, + }; + } + + return (await this.scanShow(incomingShow.get(), lookupResult, ctx)).map( + () => void 0, + ); + } + protected async scanInternal( context: ScanContext, ): Promise { @@ -80,7 +143,10 @@ export abstract class MediaSourceTvShowLibraryScanner< ); const seenShows = new Set(); - const totalSize = await this.getLibrarySize(library.externalKey, context); + context.totalEntities = await this.getLibrarySize( + library.externalKey, + context, + ); for await (const show of this.getTvShowLibraryContents( library.externalKey, @@ -90,7 +156,8 @@ export abstract class MediaSourceTvShowLibraryScanner< return; } - const processedAmount = round(seenShows.size / totalSize, 2) * 100.0; + const processedAmount = + round(context.scannedEntities / context.totalEntities, 2) * 100.0; if (isNonEmptyString(pathFilter) && show.externalId !== pathFilter) { this.mediaSourceProgressService.scanProgress( library.uuid, @@ -104,6 +171,7 @@ export abstract class MediaSourceTvShowLibraryScanner< const existingShow = existingShowsByExternalId[show.externalId]; const showResult = await this.scanShow(show, existingShow, context); + context.scannedEntities++; this.mediaSourceProgressService.scanProgress( library.uuid, @@ -115,13 +183,19 @@ export abstract class MediaSourceTvShowLibraryScanner< continue; } + const scannedShow = showResult.get()!; + const scanSeasonsResult = await this.scanSeasons( showResult.get()!, context, ); if (scanSeasonsResult.isFailure()) { - this.logger.warn(scanSeasonsResult.error); + this.logger.warn( + scanSeasonsResult.error, + 'Error scanning seasons for show: %s', + scannedShow.title, + ); } } @@ -273,13 +347,13 @@ export abstract class MediaSourceTvShowLibraryScanner< ); const seenSeasons = new Set(); - // TODO: Add seen ids for await (const season of this.getTvShowSeasons(show, scanContext)) { if (this.state(library.uuid) === 'canceled') { return; } seenSeasons.add(season.externalId); + scanContext.totalEntities++; const persistedSeason = await this.updateSeason( season, @@ -288,6 +362,13 @@ export abstract class MediaSourceTvShowLibraryScanner< scanContext, ); + scanContext.scannedEntities++; + this.mediaSourceProgressService.scanProgress( + scanContext.library.uuid, + round(scanContext.scannedEntities / scanContext.totalEntities, 2) * + 100.0, + ); + if (persistedSeason.isFailure()) { this.logger.warn( persistedSeason.error, diff --git a/server/src/services/scanner/PlexMediaSourceMovieScanner.ts b/server/src/services/scanner/PlexMediaSourceMovieScanner.ts index 2962c3da1..194ee8616 100644 --- a/server/src/services/scanner/PlexMediaSourceMovieScanner.ts +++ b/server/src/services/scanner/PlexMediaSourceMovieScanner.ts @@ -88,6 +88,13 @@ export class PlexMediaSourceMovieScanner extends MediaSourceMovieLibraryScanner< return apiClient.getMovie(incomingMovie.externalId); } + protected async scanMovieById( + { apiClient }: ScanContext, + externalId: string, + ): Promise> { + return apiClient.getMovie(externalId); + } + protected getSubtitles( context: ScanContext, { key }: GetSubtitlesRequest, diff --git a/server/src/services/scanner/PlexMediaSourceMusicScanner.ts b/server/src/services/scanner/PlexMediaSourceMusicScanner.ts index 12b8e1b73..4ab8c1a46 100644 --- a/server/src/services/scanner/PlexMediaSourceMusicScanner.ts +++ b/server/src/services/scanner/PlexMediaSourceMusicScanner.ts @@ -94,6 +94,13 @@ export class PlexMediaSourceMusicScanner extends MediaSourceMusicArtistScanner< return context.apiClient.getMusicTrack(episodeT.externalId); } + protected getFullArtistMetadata( + externalId: string, + context: ScanContext, + ): Promise> { + return context.apiClient.getMusicArtist(externalId); + } + protected getApiClient( mediaSource: MediaSourceWithRelations, ): Promise { diff --git a/server/src/services/scanner/PlexMediaSourceOtherVideoScanner.ts b/server/src/services/scanner/PlexMediaSourceOtherVideoScanner.ts index cfb80dcbd..10fef1173 100644 --- a/server/src/services/scanner/PlexMediaSourceOtherVideoScanner.ts +++ b/server/src/services/scanner/PlexMediaSourceOtherVideoScanner.ts @@ -86,6 +86,13 @@ export class PlexMediaSourceOtherVideoScanner extends MediaSourceOtherVideoScann return context.apiClient.getVideo(incomingVideo.externalId); } + protected scanVideoById( + context: ScanContext, + externalKey: string, + ): Promise> { + return context.apiClient.getVideo(externalKey); + } + protected getExternalKey(video: PlexOtherVideo): string { return video.externalId; } diff --git a/server/src/util/index.ts b/server/src/util/index.ts index 46d0951ee..2e711cf66 100644 --- a/server/src/util/index.ts +++ b/server/src/util/index.ts @@ -102,12 +102,13 @@ export function groupByFunc( export function groupByTyped( data: T[], grouper: (val: T) => Key, -): Record { - const out = {} as Record; +): Map { + const out = new Map(); for (const t of data) { const k = grouper(t); - out[k] ??= []; - out[k].push(t); + const existing = out.get(k) ?? []; + existing.push(t); + out.set(k, existing); } return out; } diff --git a/types/src/api/index.ts b/types/src/api/index.ts index 6d3924389..173c86882 100644 --- a/types/src/api/index.ts +++ b/types/src/api/index.ts @@ -16,6 +16,7 @@ import { } from '../schemas/channelSchema.js'; import { CondensedChannelProgramSchema, + CondensedContentProgramSchema, ContentProgramSchema, CustomProgramSchema, } from '../schemas/lineups.js'; @@ -85,7 +86,7 @@ export const BatchLookupExternalProgrammingSchema = z.object({ export const CreateCustomShowRequestSchema = z.object({ name: z.string(), - programs: z.array(ContentProgramSchema).default([]), + programs: z.array(CondensedContentProgramSchema).default([]), syncMediaSourceId: z.string().nullable(), syncMediaSourceType: z.enum(['plex']).nullable(), syncExternalPlaylistId: z.string().nullable(), @@ -133,8 +134,6 @@ export const BasicPagingSchema = z.object({ export const ManualProgramLineupSchema = z.object({ type: z.literal('manual'), - // programs: z.array(ChannelProgramSchema), - // lineup: z.array(UpdateLineupItemSchema), // Array of indexes into the programming array lineup: CondensedChannelProgramSchema.array(), append: z.boolean().default(false), }); diff --git a/web/src/components/custom-shows/EditCustomShowForm.tsx b/web/src/components/custom-shows/EditCustomShowForm.tsx index c890ad197..fe5c9d94f 100644 --- a/web/src/components/custom-shows/EditCustomShowForm.tsx +++ b/web/src/components/custom-shows/EditCustomShowForm.tsx @@ -1,4 +1,3 @@ -import { Trans, useLingui } from '@lingui/react/macro'; import { isNonEmptyString } from '@/helpers/util.ts'; import { customShowQuery } from '@/hooks/useCustomShows.ts'; import useStore from '@/store'; @@ -10,7 +9,8 @@ import { updateCurrentCustomShow, } from '@/store/customShowEditor/actions.ts'; import { removeCustomShowProgram } from '@/store/entityEditor/util'; -import { type UICustomShowProgram } from '@/types'; +import type { UICondensedContentProgram } from '@/types'; +import { Trans, useLingui } from '@lingui/react/macro'; import { Refresh, Save, Sync, Tv, Undo } from '@mui/icons-material'; import { Alert, @@ -33,7 +33,12 @@ import { type CustomShow, type Playlist } from '@tunarr/types'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; import { useCallback, useEffect } from 'react'; -import { Controller, type SubmitHandler, useForm } from 'react-hook-form'; +import { + Controller, + type SubmitHandler, + useForm, + useWatch, +} from 'react-hook-form'; import { getApiCustomShowsByIdProgramsQueryKey, getApiCustomShowsByIdQueryKey, @@ -61,7 +66,7 @@ type CustomShowForm = { type Props = { customShow: CustomShow; - customShowPrograms: UICustomShowProgram[]; + customShowPrograms: UICondensedContentProgram[]; isNew: boolean; }; @@ -89,7 +94,6 @@ export function EditCustomShowsForm({ reset, handleSubmit, getValues, - watch, setValue, formState: { isValid, isDirty }, } = useForm({ @@ -101,10 +105,10 @@ export function EditCustomShowsForm({ }, }); - const [syncEnabled, selectedMediaSourceId] = watch([ - 'syncEnabled', - 'syncMediaSourceId', - ]); + const [syncEnabled, selectedMediaSourceId] = useWatch({ + control, + name: ['syncEnabled', 'syncMediaSourceId'], + }); useEffect(() => { reset({ @@ -145,7 +149,7 @@ export function EditCustomShowsForm({ const saveShowMutation = useMutation({ mutationKey: ['custom-shows', isNew ? 'new' : customShow.id], mutationFn: async ( - data: CustomShowForm & { programs: UICustomShowProgram[] }, + data: CustomShowForm & { programs: UICondensedContentProgram[] }, ) => { const body = { name: data.name, @@ -381,7 +385,9 @@ export function EditCustomShowsForm({ {customShow.lastSyncedAt && ( - Last synced {dayjs(customShow.lastSyncedAt).fromNow()} + + Last synced {dayjs(customShow.lastSyncedAt).fromNow()} + )} @@ -394,8 +400,10 @@ export function EditCustomShowsForm({ {isSynced && !isNew && ( }> - This custom show is synced with an external playlist. Content is - updated automatically and cannot be edited manually. + + This custom show is synced with an external playlist. Content is + updated automatically and cannot be edited manually. + )} @@ -416,7 +424,9 @@ export function EditCustomShowsForm({ <> {customShowProgrammingChanged && ( - +