Files
hottub/docs/hottubapp/👤 Uploaders - Hot Tub Docs.html
2026-04-03 17:20:11 +00:00

1761 lines
59 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" class="js-focus-visible js" data-js-focus-visible=""><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" href="https://docs.hottubapp.io/assets/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.22">
<link rel="stylesheet" href="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/main.84d31ad4.min.css">
<link rel="stylesheet" href="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="">
<link rel="stylesheet" href="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/css.css">
<style>:root{--md-text-font:"Montserrat";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/extra.css">
<script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config","G-FKHVJYKHGB"),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","G-FKHVJYKHGB",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=G-FKHVJYKHGB",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
<meta name="theme-color" content="#14151a"><meta name="color-scheme" content="dark"><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script><link rel="canonical" href="https://docs.hottubapp.io/developers/api/uploaders/"><link rel="prev" href="https://docs.hottubapp.io/developers/api/videos/"><link rel="next" href="https://docs.hottubapp.io/developers/url-schemes/"><title>👤 Uploaders - Hot Tub Docs</title></head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme: dark)"><div id="bubble-background" style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1;"><canvas style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1; pointer-events: none;" width="1366" height="616"></canvas></div>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#overview" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="https://docs.hottubapp.io/" title="Hot Tub Docs" class="md-header__button md-logo" aria-label="Hot Tub Docs" data-md-component="logo">
<img src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/icon-round.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Hot Tub Docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
👤 Uploaders
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="white" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden="">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="Select language">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"></path></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="" hreflang="en" class="md-select__link">
English
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=fr" hreflang="fr" class="md-select__link">
French
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=de" hreflang="de" class="md-select__link">
German
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=es" hreflang="es" class="md-select__link">
Spanish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=it" hreflang="it" class="md-select__link">
Italian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=nl" hreflang="nl" class="md-select__link">
Dutch
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=pt" hreflang="pt" class="md-select__link">
Portuguese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=pl" hreflang="pl" class="md-select__link">
Polish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=tr" hreflang="tr" class="md-select__link">
Turkish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=zh" hreflang="zh" class="md-select__link">
Chinese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ja" hreflang="ja" class="md-select__link">
Japanese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=de" hreflang="at" class="md-select__link">
Austrian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=nl" hreflang="be" class="md-select__link">
Belgian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=bg" hreflang="bg" class="md-select__link">
Bulgarian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=hr" hreflang="hr" class="md-select__link">
Croatian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=el" hreflang="cy" class="md-select__link">
Cypriot
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=cs" hreflang="cs" class="md-select__link">
Czech
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=da" hreflang="da" class="md-select__link">
Danish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=et" hreflang="et" class="md-select__link">
Estonian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=fi" hreflang="fi" class="md-select__link">
Finnish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=el" hreflang="el" class="md-select__link">
Greek
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=hu" hreflang="hu" class="md-select__link">
Hungarian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ga" hreflang="ga" class="md-select__link">
Irish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lv" hreflang="lv" class="md-select__link">
Latvian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lt" hreflang="lt" class="md-select__link">
Lithuanian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=lb" hreflang="lb" class="md-select__link">
Luxembourgish
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=mt" hreflang="mt" class="md-select__link">
Maltese
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=ro" hreflang="ro" class="md-select__link">
Romanian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sk" hreflang="sk" class="md-select__link">
Slovak
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sl" hreflang="sl" class="md-select__link">
Slovenian
</a>
</li>
<li class="md-select__item">
<a href="https://docs-hottubapp-io.translate.goog/?_x_tr_sl=en&amp;_x_tr_tl=sv" hreflang="sv" class="md-select__link">
Swedish
</a>
</li>
</ul>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="none" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required="">
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0">
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">Type to start searching</div>
<ol class="md-search-result__list" role="presentation" hidden=""></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" style="top: 48px;">
<div class="md-sidebar__scrollwrap" style="height: 490px;">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="https://docs.hottubapp.io/" title="Hot Tub Docs" class="md-nav__button md-logo" aria-label="Hot Tub Docs" data-md-component="logo">
<img src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/icon-round.png" alt="logo">
</a>
Hot Tub Docs
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/" class="md-nav__link">
<span class="md-ellipsis">
🏡 Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/install/" class="md-nav__link">
<span class="md-ellipsis">
📲 Install
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/setup/" class="md-nav__link">
<span class="md-ellipsis">
🚀 Setup
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/advanced-settings/" class="md-nav__link">
<span class="md-ellipsis">
🪛 Settings
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/faq/" class="md-nav__link">
<span class="md-ellipsis">
❓ FAQ
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked="checked">
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
<span class="md-ellipsis">
Developers
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Developers
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/server/" class="md-nav__link">
<span class="md-ellipsis">
📦 Server
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" checked="checked">
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
<span class="md-ellipsis">
🌐 Endpoints
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6_2">
<span class="md-nav__icon md-icon"></span>
🌐 Endpoints
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/status/" class="md-nav__link">
<span class="md-ellipsis">
📡 Status
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/videos/" class="md-nav__link">
<span class="md-ellipsis">
🎬 Videos
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
👤 Uploaders
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="https://docs.hottubapp.io/developers/api/uploaders/" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
👤 Uploaders
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
<nav class="md-nav" aria-label="Overview">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#request" class="md-nav__link">
<span class="md-ellipsis">
Request
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#request-parameters" class="md-nav__link">
<span class="md-ellipsis">
Request Parameters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#response" class="md-nav__link">
<span class="md-ellipsis">
Response
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#field-reference" class="md-nav__link">
<span class="md-ellipsis">
Field Reference
</span>
</a>
<nav class="md-nav" aria-label="Field Reference">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#uploader-object" class="md-nav__link">
<span class="md-ellipsis">
Uploader Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#channelstat-object" class="md-nav__link">
<span class="md-ellipsis">
ChannelStat Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#videoref-object" class="md-nav__link">
<span class="md-ellipsis">
VideoRef Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#layoutrow-object" class="md-nav__link">
<span class="md-ellipsis">
LayoutRow Object
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#error-responses" class="md-nav__link">
<span class="md-ellipsis">
Error Responses
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/url-schemes/" class="md-nav__link">
<span class="md-ellipsis">
🔗 URL Schemes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/developer-tools/" class="md-nav__link">
<span class="md-ellipsis">
🐛 Developer Tools
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7">
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="">
<span class="md-ellipsis">
About Us
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
About Us
</label>
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/info/" class="md-nav__link">
<span class="md-ellipsis">
Info
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/contact/" class="md-nav__link">
<span class="md-ellipsis">
📇 Contact Us
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/press-kit/" class="md-nav__link">
<span class="md-ellipsis">
📰 Press Kit
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/legal/" class="md-nav__link">
<span class="md-ellipsis">
📄 Terms &amp; Privacy Policy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/about/partners/" class="md-nav__link">
<span class="md-ellipsis">
🤝 Partner with Hot Tub
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" style="top: 48px;">
<div class="md-sidebar__scrollwrap" style="height: 490px;">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
<nav class="md-nav" aria-label="Overview">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#request" class="md-nav__link">
<span class="md-ellipsis">
Request
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#request-parameters" class="md-nav__link">
<span class="md-ellipsis">
Request Parameters
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#response" class="md-nav__link">
<span class="md-ellipsis">
Response
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#field-reference" class="md-nav__link">
<span class="md-ellipsis">
Field Reference
</span>
</a>
<nav class="md-nav" aria-label="Field Reference">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#uploader-object" class="md-nav__link">
<span class="md-ellipsis">
Uploader Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#channelstat-object" class="md-nav__link">
<span class="md-ellipsis">
ChannelStat Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#videoref-object" class="md-nav__link">
<span class="md-ellipsis">
VideoRef Object
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#layoutrow-object" class="md-nav__link">
<span class="md-ellipsis">
LayoutRow Object
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="https://docs.hottubapp.io/developers/api/uploaders/#error-responses" class="md-nav__link">
<span class="md-ellipsis">
Error Responses
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>👤 Uploaders</h1>
<div><h2 id="overview">Overview</h2>
<p>The <code>POST /api/uploaders</code> endpoint returns profile details
for a content creator or studio. The app calls this when a user taps an
uploader name to view their profile page.</p>
<h3 id="request">Request</h3>
<p><code>POST /api/uploaders</code></p>
<p>At least one of <code>uploaderId</code> or <code>uploaderName</code> must be provided.</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-0-1"></a><span class="p">{</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-0-2"></a><span class="w"> </span><span class="nt">"uploaderId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abc123"</span><span class="p">,</span>
<a id="__codelineno-0-3" name="__codelineno-0-3" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-0-3"></a><span class="w"> </span><span class="nt">"profileContent"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-0-4"></a><span class="w"> </span><span class="nt">"query"</span><span class="p">:</span><span class="w"> </span><span class="s2">"kittens"</span>
<a id="__codelineno-0-5" name="__codelineno-0-5" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-0-5"></a><span class="p">}</span>
</code></pre></div>
<h3 id="request-parameters">Request Parameters</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Required</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>uploaderId</code></td>
<td><code>string</code></td>
<td>⚠️ One of</td>
<td>Internal uploader ID</td>
</tr>
<tr>
<td><code>uploaderName</code></td>
<td><code>string</code></td>
<td>⚠️ One of</td>
<td>Uploader display name</td>
</tr>
<tr>
<td><code>query</code></td>
<td><code>string</code></td>
<td></td>
<td>Current search query used to personalize "For You" content ranking</td>
</tr>
</tbody>
</table></div></div>
<hr>
<h3 id="response">Response</h3>
<div class="highlight"><pre><span></span><code tabindex="0"><a id="__codelineno-1-1" name="__codelineno-1-1" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-1"></a><span class="p">{</span>
<a id="__codelineno-1-2" name="__codelineno-1-2" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-2"></a><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"awesomeVids"</span><span class="p">,</span>
<a id="__codelineno-1-3" name="__codelineno-1-3" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-3"></a><span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Awesome Vids"</span><span class="p">,</span>
<a id="__codelineno-1-4" name="__codelineno-1-4" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-4"></a><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/@awesomeVids"</span><span class="p">,</span>
<a id="__codelineno-1-5" name="__codelineno-1-5" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-5"></a><span class="w"> </span><span class="nt">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-channel"</span><span class="p">,</span>
<a id="__codelineno-1-6" name="__codelineno-1-6" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-6"></a><span class="w"> </span><span class="nt">"verified"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
<a id="__codelineno-1-7" name="__codelineno-1-7" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-7"></a><span class="w"> </span><span class="nt">"videoCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">342</span><span class="p">,</span>
<a id="__codelineno-1-8" name="__codelineno-1-8" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-8"></a><span class="w"> </span><span class="nt">"totalViews"</span><span class="p">:</span><span class="w"> </span><span class="mi">14500000</span><span class="p">,</span>
<a id="__codelineno-1-9" name="__codelineno-1-9" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-9"></a><span class="w"> </span><span class="nt">"channels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-1-10" name="__codelineno-1-10" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-10"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-11" name="__codelineno-1-11" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-11"></a><span class="w"> </span><span class="nt">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-channel"</span><span class="p">,</span>
<a id="__codelineno-1-12" name="__codelineno-1-12" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-12"></a><span class="w"> </span><span class="nt">"videoCount"</span><span class="p">:</span><span class="w"> </span><span class="mi">342</span><span class="p">,</span>
<a id="__codelineno-1-13" name="__codelineno-1-13" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-13"></a><span class="w"> </span><span class="nt">"firstSeenAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2024-01-15T00:00:00"</span><span class="p">,</span>
<a id="__codelineno-1-14" name="__codelineno-1-14" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-14"></a><span class="w"> </span><span class="nt">"lastSeenAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2025-03-01T00:00:00"</span>
<a id="__codelineno-1-15" name="__codelineno-1-15" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-15"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-16" name="__codelineno-1-16" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-16"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-1-17" name="__codelineno-1-17" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-17"></a><span class="w"> </span><span class="nt">"avatar"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://example.com/avatar.jpg"</span><span class="p">,</span>
<a id="__codelineno-1-18" name="__codelineno-1-18" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-18"></a><span class="w"> </span><span class="nt">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">"The best videos on the internet."</span><span class="p">,</span>
<a id="__codelineno-1-19" name="__codelineno-1-19" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-19"></a><span class="w"> </span><span class="nt">"bio"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Videos are awesome."</span><span class="p">,</span>
<a id="__codelineno-1-20" name="__codelineno-1-20" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-20"></a><span class="w"> </span><span class="nt">"videos"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-1-21" name="__codelineno-1-21" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-21"></a><span class="w"> </span><span class="p">{</span>
<a id="__codelineno-1-22" name="__codelineno-1-22" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-22"></a><span class="w"> </span><span class="nt">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"c85017ca87477168d648727753c4ded8"</span><span class="p">,</span>
<a id="__codelineno-1-23" name="__codelineno-1-23" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-23"></a><span class="w"> </span><span class="nt">"url"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://www.example.com/watch?v=y0sF5xhGreA"</span><span class="p">,</span>
<a id="__codelineno-1-24" name="__codelineno-1-24" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-24"></a><span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"20 Minutes of Adorable Kittens"</span><span class="p">,</span>
<a id="__codelineno-1-25" name="__codelineno-1-25" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-25"></a><span class="w"> </span><span class="nt">"duration"</span><span class="p">:</span><span class="w"> </span><span class="mi">1200</span><span class="p">,</span>
<a id="__codelineno-1-26" name="__codelineno-1-26" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-26"></a><span class="w"> </span><span class="nt">"channel"</span><span class="p">:</span><span class="w"> </span><span class="s2">"my-channel"</span><span class="p">,</span>
<a id="__codelineno-1-27" name="__codelineno-1-27" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-27"></a><span class="w"> </span><span class="nt">"uploadedAt"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2025-01-03T10:15:54.000Z"</span><span class="p">,</span>
<a id="__codelineno-1-28" name="__codelineno-1-28" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-28"></a><span class="w"> </span><span class="nt">"uploader"</span><span class="p">:</span><span class="w"> </span><span class="s2">"The Pet Collective"</span><span class="p">,</span>
<a id="__codelineno-1-29" name="__codelineno-1-29" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-29"></a><span class="w"> </span><span class="nt">"uploaderId"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abc123"</span><span class="p">,</span>
<a id="__codelineno-1-30" name="__codelineno-1-30" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-30"></a><span class="w"> </span><span class="nt">"thumb"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://i.example.com/vi/y0sF5xhGreA/hqdefault.jpg"</span><span class="p">,</span>
<a id="__codelineno-1-31" name="__codelineno-1-31" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-31"></a><span class="w"> </span><span class="nt">"preview"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span>
<a id="__codelineno-1-32" name="__codelineno-1-32" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-32"></a><span class="w"> </span><span class="nt">"views"</span><span class="p">:</span><span class="w"> </span><span class="mi">14622653</span><span class="p">,</span>
<a id="__codelineno-1-33" name="__codelineno-1-33" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-33"></a><span class="w"> </span><span class="nt">"rating"</span><span class="p">:</span><span class="w"> </span><span class="mi">95</span><span class="p">,</span>
<a id="__codelineno-1-34" name="__codelineno-1-34" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-34"></a><span class="w"> </span><span class="nt">"aspectRatio"</span><span class="p">:</span><span class="w"> </span><span class="mf">1.78</span>
<a id="__codelineno-1-35" name="__codelineno-1-35" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-35"></a><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-36" name="__codelineno-1-36" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-36"></a><span class="w"> </span><span class="p">],</span>
<a id="__codelineno-1-37" name="__codelineno-1-37" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-37"></a><span class="w"> </span><span class="nt">"tapes"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-1-38" name="__codelineno-1-38" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-38"></a><span class="w"> </span><span class="nt">"playlists"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
<a id="__codelineno-1-39" name="__codelineno-1-39" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-39"></a><span class="w"> </span><span class="nt">"layout"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
<a id="__codelineno-1-40" name="__codelineno-1-40" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-40"></a><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"horizontal"</span><span class="p">,</span><span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="s2">"For You"</span><span class="p">,</span><span class="w"> </span><span class="nt">"videoIds"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"c85017ca87477168d648727753c4ded8"</span><span class="p">]</span><span class="w"> </span><span class="p">},</span>
<a id="__codelineno-1-41" name="__codelineno-1-41" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-41"></a><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"videos"</span><span class="p">,</span><span class="w"> </span><span class="nt">"title"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="w"> </span><span class="p">}</span>
<a id="__codelineno-1-42" name="__codelineno-1-42" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-42"></a><span class="w"> </span><span class="p">]</span>
<a id="__codelineno-1-43" name="__codelineno-1-43" href="https://docs.hottubapp.io/developers/api/uploaders/#__codelineno-1-43"></a><span class="p">}</span>
</code></pre></div>
<hr>
<h2 id="field-reference">Field Reference</h2>
<h3 id="uploader-object">Uploader Object</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td><code>string</code></td>
<td>Unique uploader identifier</td>
</tr>
<tr>
<td><code>name</code></td>
<td><code>string</code></td>
<td>Display name</td>
</tr>
<tr>
<td><code>url</code></td>
<td><code>string \| null</code></td>
<td>Profile URL</td>
</tr>
<tr>
<td><code>channel</code></td>
<td><code>string \| null</code></td>
<td>Primary source channel</td>
</tr>
<tr>
<td><code>verified</code></td>
<td><code>boolean</code></td>
<td>Whether the uploader is verified</td>
</tr>
<tr>
<td><code>videoCount</code></td>
<td><code>number</code></td>
<td>Total indexed videos</td>
</tr>
<tr>
<td><code>totalViews</code></td>
<td><code>number</code></td>
<td>Aggregated view count</td>
</tr>
<tr>
<td><code>channels</code></td>
<td><code>ChannelStat[] \| null</code></td>
<td>Per-channel video stats</td>
</tr>
<tr>
<td><code>avatar</code></td>
<td><code>string \| null</code></td>
<td>Avatar image URL (canonical)</td>
</tr>
<tr>
<td><code>description</code></td>
<td><code>string \| null</code></td>
<td>Short description</td>
</tr>
<tr>
<td><code>bio</code></td>
<td><code>string \| null</code></td>
<td>Long-form biography</td>
</tr>
<tr>
<td><code>videos</code></td>
<td><code>VideoRef[] \| null</code></td>
<td>Videos — present when <code>profileContent</code> is <code>true</code></td>
</tr>
<tr>
<td><code>tapes</code></td>
<td><code>any[] \| null</code></td>
<td>Short-form content — present when <code>profileContent</code> is <code>true</code></td>
</tr>
<tr>
<td><code>playlists</code></td>
<td><code>any[] \| null</code></td>
<td>Playlists — present when <code>profileContent</code> is <code>true</code></td>
</tr>
<tr>
<td><code>layout</code></td>
<td><code>LayoutRow[] \| null</code></td>
<td>Ordered profile page sections</td>
</tr>
</tbody>
</table></div></div>
<p>See <a href="https://docs.hottubapp.io/developers/server/#json-key-names">JSON key names</a> for camelCase vs snake_case and the legacy <code>profile_picture_url</code> avatar key.</p>
<hr>
<h3 id="channelstat-object">ChannelStat Object</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>channel</code></td>
<td><code>string</code></td>
<td>Source channel identifier</td>
</tr>
<tr>
<td><code>videoCount</code></td>
<td><code>number</code></td>
<td>Videos seen on this channel</td>
</tr>
<tr>
<td><code>firstSeenAt</code></td>
<td><code>string \| null</code></td>
<td>ISO timestamp of first appearance on this channel</td>
</tr>
<tr>
<td><code>lastSeenAt</code></td>
<td><code>string \| null</code></td>
<td>ISO timestamp of last appearance on this channel</td>
</tr>
</tbody>
</table></div></div>
<hr>
<h3 id="videoref-object">VideoRef Object</h3>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>id</code></td>
<td><code>string</code></td>
<td>Video identifier</td>
</tr>
<tr>
<td><code>url</code></td>
<td><code>string</code></td>
<td>Video source URL</td>
</tr>
<tr>
<td><code>title</code></td>
<td><code>string</code></td>
<td>Video title</td>
</tr>
<tr>
<td><code>duration</code></td>
<td><code>number</code></td>
<td>Duration in seconds</td>
</tr>
<tr>
<td><code>channel</code></td>
<td><code>string</code></td>
<td>Source channel identifier</td>
</tr>
<tr>
<td><code>uploadedAt</code></td>
<td><code>string \| null</code></td>
<td>ISO upload timestamp</td>
</tr>
<tr>
<td><code>uploader</code></td>
<td><code>string</code></td>
<td>Uploader display name</td>
</tr>
<tr>
<td><code>uploaderId</code></td>
<td><code>string</code></td>
<td>Uploader identifier</td>
</tr>
<tr>
<td><code>thumb</code></td>
<td><code>string</code></td>
<td>Thumbnail URL</td>
</tr>
<tr>
<td><code>preview</code></td>
<td><code>string \| null</code></td>
<td>Preview clip URL</td>
</tr>
<tr>
<td><code>views</code></td>
<td><code>number</code></td>
<td>View count</td>
</tr>
<tr>
<td><code>rating</code></td>
<td><code>number</code></td>
<td>Percent rating score</td>
</tr>
<tr>
<td><code>aspectRatio</code></td>
<td><code>number \| null</code></td>
<td>Aspect ratio (e.g., 1.78 for 16:9)</td>
</tr>
</tbody>
</table></div></div>
<hr>
<h3 id="layoutrow-object">LayoutRow Object</h3>
<p>Describes the ordered sections rendered on the profile page.</p>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>type</code></td>
<td><code>string</code></td>
<td><code>"videos"</code> (vertical list) or <strong><code>horizontal</code></strong> (carousel). Legacy <strong><code>horizontal_videos</code></strong> is accepted.</td>
</tr>
<tr>
<td><code>title</code></td>
<td><code>string \| null</code></td>
<td>Section heading</td>
</tr>
<tr>
<td><code>videoIds</code></td>
<td><code>string[]</code></td>
<td>Ordered video IDs — only for <strong><code>horizontal</code></strong> / legacy <strong><code>horizontal_videos</code></strong>. Snake_case <strong><code>video_ids</code></strong> is accepted when decoding.</td>
</tr>
</tbody>
</table></div></div>
<hr>
<h2 id="error-responses">Error Responses</h2>
<div class="md-typeset__scrollwrap"><div class="md-typeset__table"><table>
<thead>
<tr>
<th>Status</th>
<th>Condition</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>400</code></td>
<td>Neither <code>uploaderId</code> nor <code>uploaderName</code> given</td>
</tr>
<tr>
<td><code>404</code></td>
<td>No uploader matched the provided identifier</td>
</tr>
<tr>
<td><code>500</code></td>
<td>Internal server error</td>
</tr>
</tbody>
</table></div></div></div>
<form class="md-feedback" name="feedback">
<fieldset>
<legend class="md-feedback__title">
Was this page helpful?
</legend>
<div class="md-feedback__inner">
<div class="md-feedback__list">
<button class="md-feedback__icon md-icon" type="submit" title="This page was helpful" data-md-value="1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81"></path></svg>
</button>
<button class="md-feedback__icon md-icon" type="submit" title="This page could be improved" data-md-value="0">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14"></path></svg>
</button>
</div>
<div class="md-feedback__note">
<div data-md-value="1" hidden="">
Thanks for your feedback!
</div>
<div data-md-value="0" hidden="">
Thanks for your feedback! Help us improve this page by
</div>
</div>
</div>
</fieldset>
</form>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden="" style="top: 64px;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg>
Back to top
</button>
</main>
<link rel="stylesheet" href="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/all.min.css">
<footer class="site-footer" style="background-color: rgba(0, 0, 0, 0.5); width: 100%">
<div class="footer-content" style="
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
">
<div class="footer-brand" style="display: flex; flex-direction: row; align-items: center; gap: 10px">
<a href="https://reddoorendeavors.com/">
<img src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/logo.png" alt="Red Door Endeavors" style="height: 50px; padding-top: 10px; padding-bottom: 10px">
</a>
<div class="footer-copyright">© 2024 Red Door Endeavors, Inc. All rights reserved.</div>
</div>
<div class="footer-nav">
<!-- Uncomment the following lines to display the links -->
<!-- <a href="https://docs.hottubapp.io/products">Products</a>
<a href="https://docs.hottubapp.io/about">About</a>
<a href="https://docs.hottubapp.io/contact">Contact</a> -->
<div class="social-links" style="display: flex; gap: 12px">
<a href="https://github.com/hottubapp" class="social-link">
<i class="fa-brands fa-github" style="color: white; font-size: 20px"></i>
</a>
<a href="https://hottubapp.io/discord" class="social-link">
<i class="fab fa-discord" style="color: white; font-size: 20px"></i>
</a>
<a href="https://docs.hottubapp.io/cdn-cgi/l/email-protection#b9caccc9c9d6cbcdf9d1d6cdcdccdbd8c9c997d0d6" class="social-link">
<i class="fas fa-envelope" style="color: white; font-size: 20px"></i>
</a>
<a href="https://patreon.com/c1d3rdev" class="social-link">
<i class="fa-brands fa-patreon" style="color: white; font-size: 20px"></i>
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.instant", "navigation.tracking", "navigation.sections", "navigation.expand", "navigation.indexes", "navigation.top", "search.suggest", "search.highlight", "toc.follow", "navigation.search", "navigation.sticky"], "search": "assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/bundle.f55a23d4.min.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/react.production.min.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/react-dom.production.min.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/three.min.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/process-polyfill.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/content-restrictions-video.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/contact-reps.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/home-feature-cards.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/demo-3d.bundle.js"></script>
<script src="%F0%9F%91%A4%20Uploaders%20-%20Hot%20Tub%20Docs_files/bubble-background.js"></script>
</body></html>