openapi.yaml 139 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506
  1. openapi: 3.1.0
  2. info:
  3. version: 0.2.0
  4. title: Owncast APIs
  5. description: |-
  6. Internal
  7. The APIs required to make the Owncast web interface and internal functionality work. These APIs will never reach stability and will always change as Owncast features and functionality change. This means these endpoints are not good options to build your own tooling and features on top of. You can, however, of course can if that risk is acceptable to you.
  8. Admin
  9. The APIs used to configure the Owncast server, as well as power the web admin interface. These APIs are protected by the admin password, using HTTP Basic authentication. They should not be used by external tools or integrations as it would require you to give your admin password to a third party.
  10. contact:
  11. name: Gabe Kangas
  12. email: gabek@real-ity.com
  13. url: 'http://owncast.online'
  14. license:
  15. url: 'https://github.com/owncast/owncast/blob/develop/LICENSE'
  16. name: MIT
  17. x-logo:
  18. url: >-
  19. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAEvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjEyOCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjEyOCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjEyOCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTI4IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI5Ni4wIgogICB0aWZmOllSZXNvbHV0aW9uPSI5Ni4wIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDIw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
  20. servers:
  21. - url: 'http://localhost:8080/api'
  22. description: Localhost port 8080
  23. paths:
  24. /status:
  25. get:
  26. summary: Get the status of the server
  27. operationId: GetStatus
  28. tags: ['Internal']
  29. responses:
  30. '200':
  31. description: Successful response
  32. content:
  33. application/json:
  34. schema:
  35. $ref: '#/components/schemas/Status'
  36. /emoji:
  37. get:
  38. summary: Get list of custom emojis supported in the chat
  39. operationId: GetCustomEmojiList
  40. tags: ['Internal', 'Chat']
  41. responses:
  42. '200':
  43. description: List of valid emojis
  44. content:
  45. application/json:
  46. schema:
  47. $ref: '#/components/schemas/Emojis'
  48. '500':
  49. $ref: '#/components/responses/500'
  50. /chat:
  51. get:
  52. summary: Gets a list of chat messages
  53. operationId: GetChatMessages
  54. tags: ['Internal', 'Chat']
  55. parameters:
  56. - $ref: '#/components/parameters/AccessToken'
  57. responses:
  58. '200':
  59. description: List of chat messages
  60. content:
  61. application/json:
  62. schema:
  63. $ref: '#/components/schemas/ChatMessages'
  64. '401':
  65. $ref: '#/components/responses/401'
  66. '501':
  67. $ref: '#/components/responses/501'
  68. /chat/register:
  69. post:
  70. summary: Registers an anonymous chat user
  71. operationId: RegisterAnonymousChatUser
  72. tags: ['Internal', 'Chat']
  73. parameters:
  74. - in: header
  75. name: X-Forwarded-User
  76. schema:
  77. type: string
  78. required: false
  79. requestBody:
  80. description: The display name of the new user
  81. required: false
  82. content:
  83. application/json:
  84. schema:
  85. type: object
  86. properties:
  87. displayName:
  88. type: string
  89. responses:
  90. '200':
  91. description: Anonymous user information
  92. content:
  93. application/json:
  94. schema:
  95. $ref: '#/components/schemas/AnonymousUser'
  96. '400':
  97. $ref: '#/components/responses/400'
  98. options:
  99. operationId: RegisterAnonymousChatUserOptions
  100. x-internal: true
  101. tags: ['Objects', 'Chat']
  102. responses:
  103. '204':
  104. $ref: '#/components/responses/204Options'
  105. /chat/messagevisibility:
  106. post:
  107. summary: Update chat message visibility
  108. operationId: UpdateMessageVisibility
  109. tags: ['Internal', 'Chat']
  110. parameters:
  111. - $ref: '#/components/parameters/AccessToken'
  112. requestBody:
  113. content:
  114. application/json:
  115. schema:
  116. $ref: '#/components/schemas/MessageVisibilityUpdate'
  117. responses:
  118. '200':
  119. description: Message visibility updated
  120. content:
  121. application/json:
  122. schema:
  123. $ref: '#/components/schemas/BaseAPIResponse'
  124. '400':
  125. $ref: '#/components/responses/400'
  126. '401':
  127. $ref: '#/components/responses/401'
  128. default:
  129. $ref: '#/components/responses/Default'
  130. /chat/users/setenabled:
  131. post:
  132. summary: Enable/disable a user
  133. operationId: UpdateUserEnabled
  134. tags: ['Internal', 'Chat']
  135. parameters:
  136. - $ref: '#/components/parameters/AccessToken'
  137. requestBody:
  138. content:
  139. application/json:
  140. schema:
  141. type: object
  142. properties:
  143. userId:
  144. type: string
  145. enabled:
  146. type: boolean
  147. responses:
  148. '200':
  149. description: User status has been updated
  150. content:
  151. application/json:
  152. schema:
  153. $ref: '#/components/schemas/BaseAPIResponse'
  154. '400':
  155. $ref: '#/components/responses/400'
  156. '401':
  157. $ref: '#/components/responses/401'
  158. default:
  159. $ref: '#/components/responses/Default'
  160. /config:
  161. get:
  162. summary: Get the web config
  163. operationId: GetWebConfig
  164. tags: ['Internal']
  165. responses:
  166. '200':
  167. description: The current web config
  168. content:
  169. application/json:
  170. schema:
  171. $ref: '#/components/schemas/WebConfig'
  172. '500':
  173. $ref: '#/components/responses/500'
  174. /yp:
  175. get:
  176. summary: Get the YP protocol data
  177. operationId: GetYPResponse
  178. tags: ['Internal']
  179. responses:
  180. '200':
  181. description: The current YP protocol configuration
  182. content:
  183. application/json:
  184. schema:
  185. $ref: '#/components/schemas/YPDetails'
  186. '404':
  187. $ref: '#/components/responses/404'
  188. /socialplatforms:
  189. get:
  190. summary: Get all social platforms
  191. operationId: GetAllSocialPlatforms
  192. tags: ['Internal']
  193. responses:
  194. '200':
  195. description: The list of social platforms
  196. content:
  197. application/json:
  198. schema:
  199. type: object
  200. additionalProperties:
  201. $ref: '#/components/schemas/SocialHandle'
  202. '500':
  203. $ref: '#/components/responses/500'
  204. /video/variants:
  205. get:
  206. summary: Get a list of video variants available
  207. operationId: GetVideoStreamOutputVariants
  208. tags: ['Internal', 'Video']
  209. responses:
  210. '200':
  211. description: List of available video variants
  212. content:
  213. application/json:
  214. schema:
  215. type: array
  216. items:
  217. $ref: '#/components/schemas/VideoVariant'
  218. /ping:
  219. get:
  220. summary: Tell the backend you're an active viewer
  221. operationId: Ping
  222. tags: ['Internal', 'Video']
  223. responses:
  224. '200':
  225. description: Added as an active viewer
  226. /remotefollow:
  227. post:
  228. summary: Request remote follow
  229. operationId: RemoteFollow
  230. tags: ['Internal', 'Social']
  231. requestBody:
  232. content:
  233. application/json:
  234. schema:
  235. type: object
  236. properties:
  237. account:
  238. type: string
  239. responses:
  240. '200':
  241. description: Contains redirect URL remote follow follow
  242. content:
  243. application/json:
  244. schema:
  245. type: object
  246. properties:
  247. redirectUrl:
  248. type: string
  249. '400':
  250. $ref: '#/components/responses/400'
  251. /followers:
  252. get:
  253. summary: Gets the list of followers
  254. operationId: GetFollowers
  255. tags: ['Internal', 'Social']
  256. parameters:
  257. - $ref: '#/components/parameters/Offset'
  258. - $ref: '#/components/parameters/Limit'
  259. responses:
  260. '200':
  261. description: Paginated follower count
  262. content:
  263. application/json:
  264. schema:
  265. $ref: '#/components/schemas/PaginatedFollowers'
  266. '400':
  267. $ref: '#/components/responses/400'
  268. /metrics/playback:
  269. post:
  270. summary: Save video playback metrics for future video health recording
  271. operationId: ReportPlaybackMetrics
  272. tags: ['Internal']
  273. requestBody:
  274. description: Video metrics to record
  275. content:
  276. application/json:
  277. schema:
  278. $ref: '#/components/schemas/PlaybackMetrics'
  279. responses:
  280. '200':
  281. description: Metrics successfully recorded
  282. '400':
  283. $ref: '#/components/responses/400'
  284. /notifications/register:
  285. post:
  286. summary: Register for notifications
  287. operationId: RegisterForLiveNotifications
  288. tags: ['Internal']
  289. parameters:
  290. - $ref: '#/components/parameters/AccessToken'
  291. requestBody:
  292. description: Information for notification
  293. content:
  294. application/json:
  295. schema:
  296. type: object
  297. properties:
  298. channel:
  299. type: string
  300. description: Name of notification channel
  301. destination:
  302. type: string
  303. description: Target of the notification in the channel
  304. responses:
  305. '200':
  306. description: Successfully added notification channel
  307. '400':
  308. $ref: '#/components/responses/400'
  309. '401':
  310. $ref: '#/components/responses/401'
  311. /admin/status:
  312. get:
  313. summary: Get current inboard broadcaster
  314. operationId: StatusAdmin
  315. tags: ['Internal', 'Admin']
  316. security:
  317. - BasicAuth: []
  318. responses:
  319. '200':
  320. description: Gives the status of the system
  321. content:
  322. application/json:
  323. schema:
  324. $ref: '#/components/schemas/AdminStatus'
  325. '400':
  326. $ref: '#/components/responses/400'
  327. '401':
  328. $ref: '#/components/responses/401BasicAuth'
  329. default:
  330. $ref: '#/components/responses/Default'
  331. options:
  332. operationId: StatusAdminOptions
  333. x-internal: true
  334. tags: ['Objects']
  335. responses:
  336. '204':
  337. $ref: '#/components/responses/204'
  338. /admin/disconnect:
  339. get:
  340. summary: Disconnect inbound stream
  341. operationId: DisconnectInboundConnection
  342. tags: ['Internal', 'Admin', 'Video']
  343. security:
  344. - BasicAuth: []
  345. responses:
  346. '200':
  347. description: Contains information about disconnection status
  348. content:
  349. application/json:
  350. schema:
  351. $ref: '#/components/schemas/BaseAPIResponse'
  352. '400':
  353. $ref: '#/components/responses/400'
  354. '401':
  355. $ref: '#/components/responses/401BasicAuth'
  356. default:
  357. $ref: '#/components/responses/Default'
  358. options:
  359. operationId: DisconnectInboundConnectionOptions
  360. x-internal: true
  361. tags: ['Objects', 'Video']
  362. responses:
  363. '204':
  364. $ref: '#/components/responses/204'
  365. /admin/serverconfig:
  366. get:
  367. summary: Get the current server config
  368. operationId: GetServerConfig
  369. tags: ['Internal', 'Admin']
  370. security:
  371. - BasicAuth: []
  372. responses:
  373. '200':
  374. description: Current server config
  375. content:
  376. application/json:
  377. schema:
  378. $ref: '#/components/schemas/AdminServerConfig'
  379. '400':
  380. $ref: '#/components/responses/400'
  381. '401':
  382. $ref: '#/components/responses/401BasicAuth'
  383. default:
  384. $ref: '#/components/responses/Default'
  385. options:
  386. operationId: GetServerConfigOptions
  387. x-internal: true
  388. tags: ['Objects']
  389. responses:
  390. '204':
  391. $ref: '#/components/responses/204'
  392. /admin/viewersOverTime:
  393. get:
  394. summary: Get viewer count over time
  395. operationId: GetViewersOverTime
  396. tags: ['Internal', 'Admin']
  397. security:
  398. - BasicAuth: []
  399. parameters:
  400. - in: query
  401. name: windowStart
  402. description: Start date in unix time
  403. schema:
  404. type: string
  405. responses:
  406. '200':
  407. description: Viewer count over time
  408. content:
  409. application/json:
  410. schema:
  411. type: array
  412. items:
  413. $ref: '#/components/schemas/TimestampedValue'
  414. '400':
  415. $ref: '#/components/responses/400'
  416. '401':
  417. $ref: '#/components/responses/401BasicAuth'
  418. default:
  419. $ref: '#/components/responses/Default'
  420. options:
  421. operationId: GetViewersOverTimeOptions
  422. x-internal: true
  423. tags: ['Objects']
  424. responses:
  425. '204':
  426. $ref: '#/components/responses/204'
  427. /admin/viewers:
  428. get:
  429. summary: Get active viewers
  430. operationId: GetActiveViewers
  431. tags: ['Internal', 'Admin']
  432. security:
  433. - BasicAuth: []
  434. responses:
  435. '200':
  436. description: List of active viewers
  437. content:
  438. application/json:
  439. schema:
  440. type: array
  441. items:
  442. $ref: '#/components/schemas/Viewer'
  443. '400':
  444. $ref: '#/components/responses/400'
  445. '401':
  446. $ref: '#/components/responses/401BasicAuth'
  447. default:
  448. $ref: '#/components/responses/Default'
  449. options:
  450. operationId: GetActiveViewersOptions
  451. x-internal: true
  452. tags: ['Objects', 'Video']
  453. responses:
  454. '204':
  455. $ref: '#/components/responses/204'
  456. /admin/hardwarestats:
  457. get:
  458. summary: Get the current hardware stats
  459. operationId: GetHardwareStats
  460. tags: ['Internal', 'Admin']
  461. security:
  462. - BasicAuth: []
  463. responses:
  464. '200':
  465. description: Current hardware stats
  466. content:
  467. application/json:
  468. schema:
  469. allOf:
  470. - $ref: '#/components/schemas/StreamHealthOverview'
  471. - $ref: '#/components/schemas/CollectedMetrics'
  472. '400':
  473. $ref: '#/components/responses/400'
  474. '401':
  475. $ref: '#/components/responses/401BasicAuth'
  476. default:
  477. $ref: '#/components/responses/Default'
  478. options:
  479. operationId: GetHardwareStatsOptions
  480. x-internal: true
  481. tags: ['Objects']
  482. responses:
  483. '204':
  484. $ref: '#/components/responses/204'
  485. /admin/chat/clients:
  486. get:
  487. summary: Get a detailed list of currently connected chat clients
  488. operationId: GetConnectedChatClients
  489. tags: ['Internal', 'Admin', 'Chat']
  490. security:
  491. - BasicAuth: []
  492. responses:
  493. '200':
  494. description: List of chat clients
  495. content:
  496. application/json:
  497. schema:
  498. $ref: '#/components/schemas/ChatClients'
  499. '400':
  500. $ref: '#/components/responses/400'
  501. '401':
  502. $ref: '#/components/responses/401BasicAuth'
  503. default:
  504. $ref: '#/components/responses/Default'
  505. options:
  506. operationId: GetConnectedChatClientsOptions
  507. x-internal: true
  508. tags: ['Objects', 'Chat']
  509. responses:
  510. '204':
  511. $ref: '#/components/responses/204'
  512. /admin/chat/messages:
  513. get:
  514. summary: Get all chat messages for the admin, unfiltered
  515. operationId: GetChatMessagesAdmin
  516. tags: ['Internal', 'Admin', 'Chat']
  517. security:
  518. - BasicAuth: []
  519. responses:
  520. '200':
  521. description: List of chat messages for the admin
  522. content:
  523. application/json:
  524. schema:
  525. $ref: '#/components/schemas/ChatMessages'
  526. '400':
  527. $ref: '#/components/responses/400'
  528. '401':
  529. $ref: '#/components/responses/401BasicAuth'
  530. default:
  531. $ref: '#/components/responses/Default'
  532. options:
  533. operationId: GetChatMessagesAdminOptions
  534. x-internal: true
  535. tags: ['Objects', 'Chat']
  536. responses:
  537. '204':
  538. $ref: '#/components/responses/204'
  539. /admin/chat/messagevisibility:
  540. post:
  541. summary: Update visibility of chat messages
  542. operationId: UpdateMessageVisibilityAdmin
  543. tags: ['Internal', 'Admin', 'Chat']
  544. security:
  545. - BasicAuth: []
  546. requestBody:
  547. content:
  548. application/json:
  549. schema:
  550. $ref: '#/components/schemas/MessageVisibilityUpdate'
  551. responses:
  552. '200':
  553. description: Messages updated
  554. content:
  555. application/json:
  556. schema:
  557. $ref: '#/components/schemas/BaseAPIResponse'
  558. '400':
  559. $ref: '#/components/responses/400'
  560. '401':
  561. $ref: '#/components/responses/401BasicAuth'
  562. default:
  563. $ref: '#/components/responses/Default'
  564. options:
  565. operationId: UpdateMessageVisibilityAdminOptions
  566. x-internal: true
  567. tags: ['Objects', 'Chat']
  568. responses:
  569. '204':
  570. $ref: '#/components/responses/204'
  571. /admin/chat/users/setenabled:
  572. post:
  573. summary: Enable or disable a user
  574. operationId: UpdateUserEnabledAdmin
  575. tags: ['Internal', 'Admin', 'Chat']
  576. security:
  577. - BasicAuth: []
  578. requestBody:
  579. content:
  580. application/json:
  581. schema:
  582. type: object
  583. properties:
  584. userId:
  585. type: string
  586. enabled:
  587. type: boolean
  588. responses:
  589. '200':
  590. description: Successfully updated the user
  591. content:
  592. application/json:
  593. schema:
  594. $ref: '#/components/schemas/BaseAPIResponse'
  595. '400':
  596. $ref: '#/components/responses/400'
  597. '401':
  598. $ref: '#/components/responses/401BasicAuth'
  599. default:
  600. $ref: '#/components/responses/Default'
  601. options:
  602. operationId: UpdateUserEnabledAdminOptions
  603. x-internal: true
  604. tags: ['Objects', 'Chat']
  605. responses:
  606. '204':
  607. $ref: '#/components/responses/204'
  608. /admin/chat/users/disabled:
  609. get:
  610. summary: Get a list of disabled users
  611. operationId: GetDisabledUsers
  612. tags: ['Internal', 'Admin', 'Chat']
  613. security:
  614. - BasicAuth: []
  615. responses:
  616. '200':
  617. description: List of disabled users
  618. content:
  619. application/json:
  620. schema:
  621. $ref: '#/components/schemas/Users'
  622. '400':
  623. $ref: '#/components/responses/400'
  624. '401':
  625. $ref: '#/components/responses/401BasicAuth'
  626. default:
  627. $ref: '#/components/responses/Default'
  628. options:
  629. operationId: GetDisabledUsersOptions
  630. x-internal: true
  631. tags: ['Objects', 'Chat']
  632. responses:
  633. '204':
  634. $ref: '#/components/responses/204'
  635. /admin/chat/users/ipbans/create:
  636. post:
  637. summary: Ban an IP address
  638. operationId: BanIPAddress
  639. tags: ['Internal', 'Admin', 'Chat']
  640. security:
  641. - BasicAuth: []
  642. requestBody:
  643. $ref: '#/components/requestBodies/AdminConfigValue'
  644. responses:
  645. '200':
  646. description: IP was successfully banned
  647. content:
  648. application/json:
  649. schema:
  650. $ref: '#/components/schemas/BaseAPIResponse'
  651. '400':
  652. $ref: '#/components/responses/400'
  653. '401':
  654. $ref: '#/components/responses/401BasicAuth'
  655. default:
  656. $ref: '#/components/responses/Default'
  657. options:
  658. operationId: BanIPAddressOptions
  659. x-internal: true
  660. tags: ['Objects', 'Chat']
  661. responses:
  662. '204':
  663. $ref: '#/components/responses/204'
  664. /admin/chat/users/ipbans/remove:
  665. post:
  666. summary: Remove an IP ban
  667. operationId: UnbanIPAddress
  668. tags: ['Internal', 'Admin', 'Chat']
  669. security:
  670. - BasicAuth: []
  671. requestBody:
  672. content:
  673. application/json:
  674. schema:
  675. $ref: '#/components/schemas/AdminConfigValue'
  676. responses:
  677. '200':
  678. description: IP ban was successfully removed
  679. content:
  680. application/json:
  681. schema:
  682. $ref: '#/components/schemas/BaseAPIResponse'
  683. '400':
  684. $ref: '#/components/responses/400'
  685. '401':
  686. $ref: '#/components/responses/401BasicAuth'
  687. default:
  688. $ref: '#/components/responses/Default'
  689. options:
  690. operationId: UnbanIPAddressOptions
  691. x-internal: true
  692. tags: ['Objects', 'Chat']
  693. responses:
  694. '204':
  695. $ref: '#/components/responses/204'
  696. /admin/chat/users/ipbans:
  697. get:
  698. summary: Get all banned IP addresses
  699. operationId: GetIPAddressBans
  700. tags: ['Internal', 'Admin', 'Chat']
  701. security:
  702. - BasicAuth: []
  703. responses:
  704. '200':
  705. description: List of banned IP addresses
  706. content:
  707. application/json:
  708. schema:
  709. type: array
  710. items:
  711. $ref: '#/components/schemas/IPAddress'
  712. '400':
  713. $ref: '#/components/responses/400'
  714. '401':
  715. $ref: '#/components/responses/401BasicAuth'
  716. default:
  717. $ref: '#/components/responses/Default'
  718. options:
  719. operationId: GetIPAddressBansOptions
  720. x-internal: true
  721. tags: ['Objects', 'Chat']
  722. responses:
  723. '204':
  724. $ref: '#/components/responses/204'
  725. /admin/chat/users/setmoderator:
  726. post:
  727. summary: Set moderator status for a user
  728. operationId: UpdateUserModerator
  729. tags: ['Internal', 'Admin', 'Chat']
  730. security:
  731. - BasicAuth: []
  732. requestBody:
  733. content:
  734. application/json:
  735. schema:
  736. type: object
  737. properties:
  738. userId:
  739. type: string
  740. isModerator:
  741. type: boolean
  742. responses:
  743. '200':
  744. description: Successfully update the moderator status of the user
  745. content:
  746. application/json:
  747. schema:
  748. $ref: '#/components/schemas/BaseAPIResponse'
  749. '400':
  750. $ref: '#/components/responses/400'
  751. '401':
  752. $ref: '#/components/responses/401BasicAuth'
  753. default:
  754. $ref: '#/components/responses/Default'
  755. options:
  756. operationId: UpdateUserModeratorOptions
  757. x-internal: true
  758. tags: ['Objects', 'Chat']
  759. responses:
  760. '204':
  761. $ref: '#/components/responses/204'
  762. /admin/chat/users/moderators:
  763. get:
  764. summary: Get a list of moderator users
  765. operationId: GetModerators
  766. tags: ['Internal', 'Admin', 'Chat']
  767. security:
  768. - BasicAuth: []
  769. responses:
  770. '200':
  771. description: List of moderator users
  772. content:
  773. application/json:
  774. schema:
  775. $ref: '#/components/schemas/Users'
  776. '400':
  777. $ref: '#/components/responses/400'
  778. '401':
  779. $ref: '#/components/responses/401BasicAuth'
  780. default:
  781. $ref: '#/components/responses/Default'
  782. options:
  783. operationId: GetModeratorsOptions
  784. x-internal: true
  785. tags: ['Objects', 'Internal', 'Admin']
  786. responses:
  787. '204':
  788. $ref: '#/components/responses/204'
  789. /admin/logs:
  790. get:
  791. summary: Get all logs
  792. operationId: GetLogs
  793. tags: ['Internal', 'Admin']
  794. security:
  795. - BasicAuth: []
  796. responses:
  797. '200':
  798. description: List of logs
  799. headers:
  800. 'Access-Control-Allow-Origin':
  801. $ref: '#/components/headers/Access-Control-Allow-Origin'
  802. 'Access-Control-Allow-Credentials':
  803. $ref: '#/components/headers/Access-Control-Allow-Credentials'
  804. 'Access-Control-Allow-Headers':
  805. $ref: '#/components/headers/Access-Control-Allow-Headers'
  806. content:
  807. application/json:
  808. schema:
  809. type: array
  810. items:
  811. $ref: '#/components/schemas/AdminLog'
  812. '400':
  813. $ref: '#/components/responses/400'
  814. '401':
  815. $ref: '#/components/responses/401BasicAuth'
  816. default:
  817. $ref: '#/components/responses/Default'
  818. options:
  819. operationId: GetLogsOptions
  820. x-internal: true
  821. tags: ['Objects', 'Internal', 'Admin']
  822. responses:
  823. '204':
  824. $ref: '#/components/responses/204'
  825. /admin/logs/warnings:
  826. get:
  827. summary: Get warning/error logs
  828. operationId: GetWarnings
  829. tags: ['Internal', 'Admin']
  830. security:
  831. - BasicAuth: []
  832. responses:
  833. '200':
  834. description: List of warnings and errors
  835. headers:
  836. 'Access-Control-Allow-Origin':
  837. $ref: '#/components/headers/Access-Control-Allow-Origin'
  838. 'Access-Control-Allow-Credentials':
  839. $ref: '#/components/headers/Access-Control-Allow-Credentials'
  840. 'Access-Control-Allow-Headers':
  841. $ref: '#/components/headers/Access-Control-Allow-Headers'
  842. content:
  843. application/json:
  844. schema:
  845. type: array
  846. items:
  847. $ref: '#/components/schemas/AdminLog'
  848. '400':
  849. $ref: '#/components/responses/400'
  850. '401':
  851. $ref: '#/components/responses/401BasicAuth'
  852. default:
  853. $ref: '#/components/responses/Default'
  854. options:
  855. operationId: GetWarningsOptions
  856. x-internal: true
  857. tags: ['Objects', 'Internal', 'Admin']
  858. responses:
  859. '204':
  860. $ref: '#/components/responses/204'
  861. /admin/followers:
  862. get:
  863. summary: Get followers
  864. operationId: GetFollowersAdmin
  865. tags: ['Internal', 'Admin', 'Social']
  866. security:
  867. - BasicAuth: []
  868. parameters:
  869. - $ref: '#/components/parameters/Offset'
  870. - $ref: '#/components/parameters/Limit'
  871. responses:
  872. '200':
  873. description: Paginated follower count
  874. content:
  875. application/json:
  876. schema:
  877. $ref: '#/components/schemas/PaginatedFollowers'
  878. '400':
  879. $ref: '#/components/responses/400'
  880. '401':
  881. $ref: '#/components/responses/401BasicAuth'
  882. default:
  883. $ref: '#/components/responses/Default'
  884. options:
  885. operationId: GetFollowersAdminOptions
  886. x-internal: true
  887. tags: ['Objects', 'Internal', 'Admin']
  888. responses:
  889. '204':
  890. $ref: '#/components/responses/204'
  891. /admin/followers/pending:
  892. get:
  893. summary: Get a list of pending follow requests
  894. operationId: GetPendingFollowRequests
  895. tags: ['Internal', 'Admin', 'Social']
  896. security:
  897. - BasicAuth: []
  898. responses:
  899. '200':
  900. description: List of pending followers
  901. content:
  902. application/json:
  903. schema:
  904. $ref: '#/components/schemas/Followers'
  905. '400':
  906. $ref: '#/components/responses/400'
  907. '401':
  908. $ref: '#/components/responses/401BasicAuth'
  909. default:
  910. $ref: '#/components/responses/Default'
  911. options:
  912. operationId: GetPendingFollowRequestsOptions
  913. x-internal: true
  914. tags: ['Objects', 'Internal', 'Admin', 'Social']
  915. responses:
  916. '204':
  917. $ref: '#/components/responses/204'
  918. /admin/followers/blocked:
  919. get:
  920. summary: Get a list of rejected or blocked follows
  921. operationId: GetBlockedAndRejectedFollowers
  922. tags: ['Internal', 'Admin', 'Social']
  923. security:
  924. - BasicAuth: []
  925. responses:
  926. '200':
  927. description: List of rejected or blocked follows
  928. content:
  929. application/json:
  930. schema:
  931. $ref: '#/components/schemas/Followers'
  932. '400':
  933. $ref: '#/components/responses/400'
  934. '401':
  935. $ref: '#/components/responses/401BasicAuth'
  936. default:
  937. $ref: '#/components/responses/Default'
  938. options:
  939. operationId: GetBlockedAndRejectedFollowersOptions
  940. x-internal: true
  941. tags: ['Objects', 'Internal', 'Admin', 'Social']
  942. responses:
  943. '204':
  944. $ref: '#/components/responses/204'
  945. /admin/followers/approve:
  946. post:
  947. summary: Set the following state of a follower or follow request
  948. operationId: ApproveFollower
  949. tags: ['Internal', 'Admin', 'Social']
  950. security:
  951. - BasicAuth: []
  952. requestBody:
  953. content:
  954. application/json:
  955. schema:
  956. type: object
  957. properties:
  958. actorIRI:
  959. type: string
  960. approved:
  961. type: boolean
  962. responses:
  963. '200':
  964. description: List of rejected or blocked follows
  965. content:
  966. application/json:
  967. schema:
  968. $ref: '#/components/schemas/BaseAPIResponse'
  969. '400':
  970. $ref: '#/components/responses/400'
  971. '401':
  972. $ref: '#/components/responses/401BasicAuth'
  973. default:
  974. $ref: '#/components/responses/Default'
  975. options:
  976. operationId: ApproveFollowerOptions
  977. x-internal: true
  978. tags: ['Objects', 'Internal', 'Admin', 'Social']
  979. responses:
  980. '204':
  981. $ref: '#/components/responses/204'
  982. /admin/emoji/upload:
  983. post:
  984. summary: Upload custom emoji
  985. operationId: UploadCustomEmoji
  986. tags: ['Internal', 'Admin', 'Chat']
  987. security:
  988. - BasicAuth: []
  989. requestBody:
  990. content:
  991. application/json:
  992. schema:
  993. type: object
  994. properties:
  995. name:
  996. type: string
  997. data:
  998. description: Base 64 encoded image data
  999. type: string
  1000. responses:
  1001. '200':
  1002. description: Emoji has been uploaded
  1003. content:
  1004. application/json:
  1005. schema:
  1006. $ref: '#/components/schemas/BaseAPIResponse'
  1007. '400':
  1008. $ref: '#/components/responses/400'
  1009. '401':
  1010. $ref: '#/components/responses/401BasicAuth'
  1011. default:
  1012. $ref: '#/components/responses/Default'
  1013. options:
  1014. operationId: UploadCustomEmojiOptions
  1015. x-internal: true
  1016. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1017. responses:
  1018. '204':
  1019. $ref: '#/components/responses/204'
  1020. /admin/emoji/delete:
  1021. post:
  1022. summary: Delete custom emoji
  1023. operationId: DeleteCustomEmoji
  1024. tags: ['Internal', 'Admin', 'Chat']
  1025. security:
  1026. - BasicAuth: []
  1027. requestBody:
  1028. content:
  1029. application/json:
  1030. schema:
  1031. type: object
  1032. properties:
  1033. name:
  1034. type: string
  1035. responses:
  1036. '200':
  1037. description: Emoji has been deleted
  1038. content:
  1039. application/json:
  1040. schema:
  1041. $ref: '#/components/schemas/BaseAPIResponse'
  1042. '400':
  1043. $ref: '#/components/responses/400'
  1044. '401':
  1045. $ref: '#/components/responses/401BasicAuth'
  1046. default:
  1047. $ref: '#/components/responses/Default'
  1048. options:
  1049. operationId: DeleteCustomEmojiOptions
  1050. x-internal: true
  1051. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1052. responses:
  1053. '204':
  1054. $ref: '#/components/responses/204'
  1055. /admin/config/adminpass:
  1056. post:
  1057. summary: Change the current admin password
  1058. operationId: SetAdminPassword
  1059. tags: ['Internal', 'Admin']
  1060. security:
  1061. - BasicAuth: []
  1062. requestBody:
  1063. $ref: '#/components/requestBodies/AdminConfigValue'
  1064. responses:
  1065. '200':
  1066. description: Admin password has been updated
  1067. content:
  1068. application/json:
  1069. schema:
  1070. $ref: '#/components/schemas/BaseAPIResponse'
  1071. '400':
  1072. $ref: '#/components/responses/400'
  1073. '401':
  1074. $ref: '#/components/responses/401BasicAuth'
  1075. default:
  1076. $ref: '#/components/responses/Default'
  1077. options:
  1078. operationId: SetAdminPasswordOptions
  1079. x-internal: true
  1080. tags: ['Objects', 'Internal', 'Admin']
  1081. responses:
  1082. '204':
  1083. $ref: '#/components/responses/204'
  1084. /admin/config/streamkeys:
  1085. post:
  1086. summary: Set an array of valid stream keys
  1087. operationId: SetStreamKeys
  1088. tags: ['Internal', 'Admin']
  1089. security:
  1090. - BasicAuth: []
  1091. requestBody:
  1092. content:
  1093. application/json:
  1094. schema:
  1095. type: object
  1096. properties:
  1097. value:
  1098. type: array
  1099. items:
  1100. $ref: '#/components/schemas/StreamKey'
  1101. responses:
  1102. '200':
  1103. description: Stream keys have been updated
  1104. content:
  1105. application/json:
  1106. schema:
  1107. $ref: '#/components/schemas/BaseAPIResponse'
  1108. '400':
  1109. $ref: '#/components/responses/400'
  1110. '401':
  1111. $ref: '#/components/responses/401BasicAuth'
  1112. default:
  1113. $ref: '#/components/responses/Default'
  1114. options:
  1115. operationId: SetStreamKeysOptions
  1116. x-internal: true
  1117. tags: ['Objects', 'Internal', 'Admin']
  1118. responses:
  1119. '204':
  1120. $ref: '#/components/responses/204'
  1121. /admin/config/pagecontent:
  1122. post:
  1123. summary: Change the extra page content in memory
  1124. operationId: SetExtraPageContent
  1125. tags: ['Internal', 'Admin']
  1126. security:
  1127. - BasicAuth: []
  1128. requestBody:
  1129. $ref: '#/components/requestBodies/AdminConfigValue'
  1130. responses:
  1131. '200':
  1132. description: Page content has been changed
  1133. content:
  1134. application/json:
  1135. schema:
  1136. $ref: '#/components/schemas/BaseAPIResponse'
  1137. '400':
  1138. $ref: '#/components/responses/400'
  1139. '401':
  1140. $ref: '#/components/responses/401BasicAuth'
  1141. default:
  1142. $ref: '#/components/responses/Default'
  1143. options:
  1144. operationId: SetExtraPageContentOptions
  1145. x-internal: true
  1146. tags: ['Objects', 'Internal', 'Admin']
  1147. responses:
  1148. '204':
  1149. $ref: '#/components/responses/204'
  1150. /admin/config/streamtitle:
  1151. post:
  1152. summary: Change the stream title
  1153. operationId: SetStreamTitle
  1154. tags: ['Internal', 'Admin']
  1155. security:
  1156. - BasicAuth: []
  1157. requestBody:
  1158. $ref: '#/components/requestBodies/AdminConfigValue'
  1159. responses:
  1160. '200':
  1161. description: Stream title has been changed
  1162. content:
  1163. application/json:
  1164. schema:
  1165. $ref: '#/components/schemas/BaseAPIResponse'
  1166. '400':
  1167. $ref: '#/components/responses/400'
  1168. '401':
  1169. $ref: '#/components/responses/401BasicAuth'
  1170. default:
  1171. $ref: '#/components/responses/Default'
  1172. options:
  1173. operationId: SetStreamTitleOptions
  1174. x-internal: true
  1175. tags: ['Objects', 'Internal', 'Admin']
  1176. responses:
  1177. '204':
  1178. $ref: '#/components/responses/204'
  1179. /admin/config/name:
  1180. post:
  1181. summary: Change the server name
  1182. operationId: SetServerName
  1183. tags: ['Objects', 'Internal', 'Admin']
  1184. security:
  1185. - BasicAuth: []
  1186. requestBody:
  1187. $ref: '#/components/requestBodies/AdminConfigValue'
  1188. responses:
  1189. '200':
  1190. description: Server name has been changed
  1191. content:
  1192. application/json:
  1193. schema:
  1194. $ref: '#/components/schemas/BaseAPIResponse'
  1195. '400':
  1196. $ref: '#/components/responses/400'
  1197. '401':
  1198. $ref: '#/components/responses/401BasicAuth'
  1199. default:
  1200. $ref: '#/components/responses/Default'
  1201. options:
  1202. operationId: SetServerNameOptions
  1203. x-internal: true
  1204. tags: ['Objects', 'Internal', 'Admin']
  1205. responses:
  1206. '204':
  1207. $ref: '#/components/responses/204'
  1208. /admin/config/serversummary:
  1209. post:
  1210. summary: Change the server summary
  1211. operationId: SetServerSummary
  1212. tags: ['Objects', 'Internal', 'Admin']
  1213. security:
  1214. - BasicAuth: []
  1215. requestBody:
  1216. $ref: '#/components/requestBodies/AdminConfigValue'
  1217. responses:
  1218. '200':
  1219. description: Server summary has been changed
  1220. content:
  1221. application/json:
  1222. schema:
  1223. $ref: '#/components/schemas/BaseAPIResponse'
  1224. '400':
  1225. $ref: '#/components/responses/400'
  1226. '401':
  1227. $ref: '#/components/responses/401BasicAuth'
  1228. default:
  1229. $ref: '#/components/responses/Default'
  1230. options:
  1231. operationId: SetServerSummaryOptions
  1232. x-internal: true
  1233. tags: ['Objects', 'Internal', 'Admin']
  1234. responses:
  1235. '204':
  1236. $ref: '#/components/responses/204'
  1237. /admin/config/offlinemessage:
  1238. post:
  1239. summary: Change the offline message
  1240. operationId: SetCustomOfflineMessage
  1241. tags: ['Objects', 'Internal', 'Admin']
  1242. security:
  1243. - BasicAuth: []
  1244. requestBody:
  1245. $ref: '#/components/requestBodies/AdminConfigValue'
  1246. responses:
  1247. '200':
  1248. description: Offline message has been changed
  1249. content:
  1250. application/json:
  1251. schema:
  1252. $ref: '#/components/schemas/BaseAPIResponse'
  1253. '400':
  1254. $ref: '#/components/responses/400'
  1255. '401':
  1256. $ref: '#/components/responses/401BasicAuth'
  1257. default:
  1258. $ref: '#/components/responses/Default'
  1259. options:
  1260. operationId: SetCustomOfflineMessageOptions
  1261. x-internal: true
  1262. tags: ['Objects', 'Internal', 'Admin']
  1263. responses:
  1264. '204':
  1265. $ref: '#/components/responses/204'
  1266. /admin/config/welcomemessage:
  1267. post:
  1268. summary: Change the welcome message
  1269. operationId: SetServerWelcomeMessage
  1270. tags: ['Internal', 'Admin', 'Chat']
  1271. security:
  1272. - BasicAuth: []
  1273. requestBody:
  1274. $ref: '#/components/requestBodies/AdminConfigValue'
  1275. responses:
  1276. '200':
  1277. description: Welcome message has been changed
  1278. content:
  1279. application/json:
  1280. schema:
  1281. $ref: '#/components/schemas/BaseAPIResponse'
  1282. '400':
  1283. $ref: '#/components/responses/400'
  1284. '401':
  1285. $ref: '#/components/responses/401BasicAuth'
  1286. default:
  1287. $ref: '#/components/responses/Default'
  1288. options:
  1289. operationId: SetServerWelcomeMessageOptions
  1290. x-internal: true
  1291. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1292. responses:
  1293. '204':
  1294. $ref: '#/components/responses/204'
  1295. /admin/config/chat/disable:
  1296. post:
  1297. summary: Disable chat
  1298. operationId: SetChatDisabled
  1299. tags: ['Internal', 'Admin', 'Chat']
  1300. security:
  1301. - BasicAuth: []
  1302. requestBody:
  1303. $ref: '#/components/requestBodies/AdminConfigValue'
  1304. responses:
  1305. '200':
  1306. description: Chat has been disabled
  1307. content:
  1308. application/json:
  1309. schema:
  1310. $ref: '#/components/schemas/BaseAPIResponse'
  1311. '400':
  1312. $ref: '#/components/responses/400'
  1313. '401':
  1314. $ref: '#/components/responses/401BasicAuth'
  1315. default:
  1316. $ref: '#/components/responses/Default'
  1317. options:
  1318. operationId: SetChatDisabledOptions
  1319. x-internal: true
  1320. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1321. responses:
  1322. '204':
  1323. $ref: '#/components/responses/204'
  1324. /admin/config/chat/joinmessagesenabled:
  1325. post:
  1326. summary: Enable chat for user join messages
  1327. operationId: SetChatJoinMessagesEnabled
  1328. tags: ['Internal', 'Admin', 'Chat']
  1329. security:
  1330. - BasicAuth: []
  1331. requestBody:
  1332. $ref: '#/components/requestBodies/AdminConfigValue'
  1333. responses:
  1334. '200':
  1335. description: User join messages has been enabled
  1336. content:
  1337. application/json:
  1338. schema:
  1339. $ref: '#/components/schemas/BaseAPIResponse'
  1340. '400':
  1341. $ref: '#/components/responses/400'
  1342. '401':
  1343. $ref: '#/components/responses/401BasicAuth'
  1344. default:
  1345. $ref: '#/components/responses/Default'
  1346. options:
  1347. operationId: SetChatJoinMessagesEnabledOptions
  1348. x-internal: true
  1349. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1350. responses:
  1351. '204':
  1352. $ref: '#/components/responses/204'
  1353. /admin/config/chat/establishedusermode:
  1354. post:
  1355. summary: Enable/disable chat established user mode
  1356. operationId: SetEnableEstablishedChatUserMode
  1357. tags: ['Internal', 'Admin', 'Chat']
  1358. security:
  1359. - BasicAuth: []
  1360. requestBody:
  1361. $ref: '#/components/requestBodies/AdminConfigValue'
  1362. responses:
  1363. '200':
  1364. description: Chat established user mode updated
  1365. content:
  1366. application/json:
  1367. schema:
  1368. $ref: '#/components/schemas/BaseAPIResponse'
  1369. '400':
  1370. $ref: '#/components/responses/400'
  1371. '401':
  1372. $ref: '#/components/responses/401BasicAuth'
  1373. default:
  1374. $ref: '#/components/responses/Default'
  1375. options:
  1376. operationId: SetEnableEstablishedChatUserModeOptions
  1377. x-internal: true
  1378. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1379. responses:
  1380. '204':
  1381. $ref: '#/components/responses/204'
  1382. /admin/config/chat/forbiddenusernames:
  1383. post:
  1384. summary: Set chat usernames that are not allowed
  1385. operationId: SetForbiddenUsernameList
  1386. tags: ['Internal', 'Admin', 'Chat']
  1387. security:
  1388. - BasicAuth: []
  1389. requestBody:
  1390. content:
  1391. application/json:
  1392. schema:
  1393. type: object
  1394. properties:
  1395. value:
  1396. type: array
  1397. items:
  1398. type: string
  1399. responses:
  1400. '200':
  1401. description: Forbidden usernames updated
  1402. content:
  1403. application/json:
  1404. schema:
  1405. $ref: '#/components/schemas/BaseAPIResponse'
  1406. '400':
  1407. $ref: '#/components/responses/400'
  1408. '401':
  1409. $ref: '#/components/responses/401BasicAuth'
  1410. default:
  1411. $ref: '#/components/responses/Default'
  1412. options:
  1413. operationId: SetForbiddenUsernameListOptions
  1414. x-internal: true
  1415. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1416. responses:
  1417. '204':
  1418. $ref: '#/components/responses/204'
  1419. /admin/config/chat/suggestedusernames:
  1420. post:
  1421. summary: Set the suggested chat usernames that will be assigned automatically
  1422. operationId: SetSuggestedUsernameList
  1423. tags: ['Internal', 'Admin', 'Chat']
  1424. security:
  1425. - BasicAuth: []
  1426. requestBody:
  1427. content:
  1428. application/json:
  1429. schema:
  1430. type: object
  1431. properties:
  1432. value:
  1433. type: array
  1434. items:
  1435. type: string
  1436. responses:
  1437. '200':
  1438. description: Suggested usernames updated
  1439. content:
  1440. application/json:
  1441. schema:
  1442. $ref: '#/components/schemas/BaseAPIResponse'
  1443. '400':
  1444. $ref: '#/components/responses/400'
  1445. '401':
  1446. $ref: '#/components/responses/401BasicAuth'
  1447. default:
  1448. $ref: '#/components/responses/Default'
  1449. options:
  1450. operationId: SetSuggestedUsernameListOptions
  1451. x-internal: true
  1452. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1453. responses:
  1454. '204':
  1455. $ref: '#/components/responses/204'
  1456. /admin/config/chat/spamprotectionenabled:
  1457. post:
  1458. summary: Set spam protection enabled
  1459. operationId: SetChatSpamProtectionEnabled
  1460. tags: ['Internal', 'Admin', 'Chat']
  1461. security:
  1462. - BasicAuth: []
  1463. requestBody:
  1464. $ref: '#/components/requestBodies/AdminConfigValue'
  1465. responses:
  1466. '200':
  1467. description: Spam protection enabled updated
  1468. content:
  1469. application/json:
  1470. schema:
  1471. $ref: '#/components/schemas/BaseAPIResponse'
  1472. '400':
  1473. $ref: '#/components/responses/400'
  1474. '401':
  1475. $ref: '#/components/responses/401BasicAuth'
  1476. default:
  1477. $ref: '#/components/responses/Default'
  1478. options:
  1479. operationId: SetChatSpamProtectionEnabledOptions
  1480. x-internal: true
  1481. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1482. responses:
  1483. '204':
  1484. $ref: '#/components/responses/204'
  1485. /admin/config/chat/slurfilterenabled:
  1486. post:
  1487. summary: Set slur filter enabled
  1488. operationId: SetChatSlurFilterEnabled
  1489. tags: ['Internal', 'Admin', 'Chat']
  1490. security:
  1491. - BasicAuth: []
  1492. requestBody:
  1493. $ref: '#/components/requestBodies/AdminConfigValue'
  1494. responses:
  1495. '200':
  1496. description: Slur filter enabled updated
  1497. content:
  1498. application/json:
  1499. schema:
  1500. $ref: '#/components/schemas/BaseAPIResponse'
  1501. '400':
  1502. $ref: '#/components/responses/400'
  1503. '401':
  1504. $ref: '#/components/responses/401BasicAuth'
  1505. default:
  1506. $ref: '#/components/responses/Default'
  1507. options:
  1508. operationId: SetChatSlurFilterEnabledOptions
  1509. x-internal: true
  1510. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1511. responses:
  1512. '204':
  1513. $ref: '#/components/responses/204'
  1514. /admin/config/video/codec:
  1515. post:
  1516. summary: Set video codec
  1517. operationId: SetVideoCodec
  1518. tags: ['Internal', 'Admin', 'Video']
  1519. security:
  1520. - BasicAuth: []
  1521. requestBody:
  1522. $ref: '#/components/requestBodies/AdminConfigValue'
  1523. responses:
  1524. '200':
  1525. description: Video codec updated
  1526. content:
  1527. application/json:
  1528. schema:
  1529. $ref: '#/components/schemas/BaseAPIResponse'
  1530. '400':
  1531. $ref: '#/components/responses/400'
  1532. '401':
  1533. $ref: '#/components/responses/401BasicAuth'
  1534. default:
  1535. $ref: '#/components/responses/Default'
  1536. options:
  1537. operationId: SetVideoCodecOptions
  1538. x-internal: true
  1539. tags: ['Objects', 'Internal', 'Admin', 'Video']
  1540. responses:
  1541. '204':
  1542. $ref: '#/components/responses/204'
  1543. /admin/config/video/streamlatencylevel:
  1544. post:
  1545. summary: Set the number of video segments and duration per segment in a playlist
  1546. operationId: SetStreamLatencyLevel
  1547. tags: ['Internal', 'Admin', 'Video']
  1548. security:
  1549. - BasicAuth: []
  1550. requestBody:
  1551. $ref: '#/components/requestBodies/AdminConfigValue'
  1552. responses:
  1553. '200':
  1554. description: Stream latency updated
  1555. content:
  1556. application/json:
  1557. schema:
  1558. $ref: '#/components/schemas/BaseAPIResponse'
  1559. '400':
  1560. $ref: '#/components/responses/400'
  1561. '401':
  1562. $ref: '#/components/responses/401BasicAuth'
  1563. default:
  1564. $ref: '#/components/responses/Default'
  1565. options:
  1566. operationId: SetStreamLatencyLevelOptions
  1567. x-internal: true
  1568. tags: ['Objects', 'Internal', 'Admin', 'Video']
  1569. responses:
  1570. '204':
  1571. $ref: '#/components/responses/204'
  1572. /admin/config/video/streamoutputvariants:
  1573. post:
  1574. summary: Set an array of video output configurations
  1575. operationId: SetStreamOutputVariants
  1576. tags: ['Internal', 'Admin', 'Video']
  1577. security:
  1578. - BasicAuth: []
  1579. requestBody:
  1580. content:
  1581. application/json:
  1582. schema:
  1583. type: object
  1584. properties:
  1585. value:
  1586. type: array
  1587. items:
  1588. $ref: '#/components/schemas/StreamOutputVariant'
  1589. responses:
  1590. '200':
  1591. description: Stream Output Variants updated
  1592. content:
  1593. application/json:
  1594. schema:
  1595. $ref: '#/components/schemas/BaseAPIResponse'
  1596. '400':
  1597. $ref: '#/components/responses/400'
  1598. '401':
  1599. $ref: '#/components/responses/401BasicAuth'
  1600. default:
  1601. $ref: '#/components/responses/Default'
  1602. options:
  1603. operationId: SetStreamOutputVariantsOptions
  1604. x-internal: true
  1605. tags: ['Objects', 'Internal', 'Admin', 'Video']
  1606. responses:
  1607. '204':
  1608. $ref: '#/components/responses/204'
  1609. /admin/config/appearance:
  1610. post:
  1611. summary: Set style/color/css values
  1612. operationId: SetCustomColorVariableValues
  1613. tags: ['Internal', 'Admin']
  1614. security:
  1615. - BasicAuth: []
  1616. requestBody:
  1617. content:
  1618. application/json:
  1619. schema:
  1620. type: object
  1621. properties:
  1622. value:
  1623. type: object
  1624. additionalProperties:
  1625. type: string
  1626. responses:
  1627. '200':
  1628. description: Appearance updated
  1629. content:
  1630. application/json:
  1631. schema:
  1632. $ref: '#/components/schemas/BaseAPIResponse'
  1633. '400':
  1634. $ref: '#/components/responses/400'
  1635. '401':
  1636. $ref: '#/components/responses/401BasicAuth'
  1637. default:
  1638. $ref: '#/components/responses/Default'
  1639. options:
  1640. operationId: SetCustomColorVariableValuesOptions
  1641. x-internal: true
  1642. tags: ['Objects', 'Internal', 'Admin']
  1643. responses:
  1644. '204':
  1645. $ref: '#/components/responses/204'
  1646. /admin/config/logo:
  1647. post:
  1648. summary: Update logo
  1649. operationId: SetLogo
  1650. tags: ['Internal', 'Admin']
  1651. security:
  1652. - BasicAuth: []
  1653. requestBody:
  1654. $ref: '#/components/requestBodies/AdminConfigValue'
  1655. responses:
  1656. '200':
  1657. description: Logo updated
  1658. content:
  1659. application/json:
  1660. schema:
  1661. $ref: '#/components/schemas/BaseAPIResponse'
  1662. '400':
  1663. $ref: '#/components/responses/400'
  1664. '401':
  1665. $ref: '#/components/responses/401BasicAuth'
  1666. default:
  1667. $ref: '#/components/responses/Default'
  1668. options:
  1669. operationId: SetLogoOptions
  1670. x-internal: true
  1671. tags: ['Objects', 'Internal', 'Admin']
  1672. responses:
  1673. '204':
  1674. $ref: '#/components/responses/204'
  1675. /admin/config/tags:
  1676. post:
  1677. summary: Update server tags
  1678. operationId: SetTags
  1679. tags: ['Internal', 'Admin']
  1680. security:
  1681. - BasicAuth: []
  1682. requestBody:
  1683. $ref: '#/components/requestBodies/AdminConfigValue'
  1684. responses:
  1685. '200':
  1686. description: Tags updated
  1687. content:
  1688. application/json:
  1689. schema:
  1690. $ref: '#/components/schemas/BaseAPIResponse'
  1691. '400':
  1692. $ref: '#/components/responses/400'
  1693. '401':
  1694. $ref: '#/components/responses/401BasicAuth'
  1695. default:
  1696. $ref: '#/components/responses/Default'
  1697. options:
  1698. operationId: SetTagsOptions
  1699. x-internal: true
  1700. tags: ['Objects', 'Internal', 'Admin']
  1701. responses:
  1702. '204':
  1703. $ref: '#/components/responses/204'
  1704. /admin/config/ffmpegpath:
  1705. post:
  1706. summary: Update FFMPEG path
  1707. operationId: SetFfmpegPath
  1708. tags: ['Internal', 'Admin']
  1709. security:
  1710. - BasicAuth: []
  1711. requestBody:
  1712. $ref: '#/components/requestBodies/AdminConfigValue'
  1713. responses:
  1714. '200':
  1715. description: Path updated
  1716. content:
  1717. application/json:
  1718. schema:
  1719. $ref: '#/components/schemas/BaseAPIResponse'
  1720. '400':
  1721. $ref: '#/components/responses/400'
  1722. '401':
  1723. $ref: '#/components/responses/401BasicAuth'
  1724. default:
  1725. $ref: '#/components/responses/Default'
  1726. options:
  1727. operationId: SetFfmpegPathOptions
  1728. x-internal: true
  1729. tags: ['Objects', 'Internal', 'Admin']
  1730. responses:
  1731. '204':
  1732. $ref: '#/components/responses/204'
  1733. /admin/config/webserverport:
  1734. post:
  1735. summary: Update server port
  1736. operationId: SetWebServerPort
  1737. tags: ['Internal', 'Admin']
  1738. security:
  1739. - BasicAuth: []
  1740. requestBody:
  1741. $ref: '#/components/requestBodies/AdminConfigValue'
  1742. responses:
  1743. '200':
  1744. description: Port updated
  1745. content:
  1746. application/json:
  1747. schema:
  1748. $ref: '#/components/schemas/BaseAPIResponse'
  1749. '400':
  1750. $ref: '#/components/responses/400'
  1751. '401':
  1752. $ref: '#/components/responses/401BasicAuth'
  1753. default:
  1754. $ref: '#/components/responses/Default'
  1755. options:
  1756. operationId: SetWebServerPortOptions
  1757. x-internal: true
  1758. tags: ['Objects', 'Internal', 'Admin']
  1759. responses:
  1760. '204':
  1761. $ref: '#/components/responses/204'
  1762. /admin/config/webserverip:
  1763. post:
  1764. summary: Update server IP address
  1765. operationId: SetWebServerIP
  1766. tags: ['Internal', 'Admin']
  1767. security:
  1768. - BasicAuth: []
  1769. requestBody:
  1770. $ref: '#/components/requestBodies/AdminConfigValue'
  1771. responses:
  1772. '200':
  1773. description: IP Address updated
  1774. content:
  1775. application/json:
  1776. schema:
  1777. $ref: '#/components/schemas/BaseAPIResponse'
  1778. '400':
  1779. $ref: '#/components/responses/400'
  1780. '401':
  1781. $ref: '#/components/responses/401BasicAuth'
  1782. default:
  1783. $ref: '#/components/responses/Default'
  1784. options:
  1785. operationId: SetWebServerIPOptions
  1786. x-internal: true
  1787. tags: ['Objects', 'Internal', 'Admin']
  1788. responses:
  1789. '204':
  1790. $ref: '#/components/responses/204'
  1791. /admin/config/rtmpserverport:
  1792. post:
  1793. summary: Update RTMP post
  1794. operationId: SetRTMPServerPort
  1795. tags: ['Internal', 'Admin', 'Video']
  1796. security:
  1797. - BasicAuth: []
  1798. requestBody:
  1799. $ref: '#/components/requestBodies/AdminConfigValue'
  1800. responses:
  1801. '200':
  1802. description: RTMP port updated
  1803. content:
  1804. application/json:
  1805. schema:
  1806. $ref: '#/components/schemas/BaseAPIResponse'
  1807. '400':
  1808. $ref: '#/components/responses/400'
  1809. '401':
  1810. $ref: '#/components/responses/401BasicAuth'
  1811. default:
  1812. $ref: '#/components/responses/Default'
  1813. options:
  1814. operationId: SetRTMPServerPortOptions
  1815. x-internal: true
  1816. tags: ['Objects', 'Internal', 'Admin', 'Video']
  1817. responses:
  1818. '204':
  1819. $ref: '#/components/responses/204'
  1820. /admin/config/sockethostoverride:
  1821. post:
  1822. summary: Update websocket host override
  1823. operationId: SetSocketHostOverride
  1824. tags: ['Internal', 'Admin', 'Chat']
  1825. security:
  1826. - BasicAuth: []
  1827. requestBody:
  1828. $ref: '#/components/requestBodies/AdminConfigValue'
  1829. responses:
  1830. '200':
  1831. description: Websocket host override updated
  1832. content:
  1833. application/json:
  1834. schema:
  1835. $ref: '#/components/schemas/BaseAPIResponse'
  1836. '400':
  1837. $ref: '#/components/responses/400'
  1838. '401':
  1839. $ref: '#/components/responses/401BasicAuth'
  1840. default:
  1841. $ref: '#/components/responses/Default'
  1842. options:
  1843. operationId: SetSocketHostOverrideOptions
  1844. x-internal: true
  1845. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  1846. responses:
  1847. '204':
  1848. $ref: '#/components/responses/204'
  1849. /admin/config/videoservingendpoint:
  1850. post:
  1851. summary: Update custom video serving endpoint
  1852. operationId: SetVideoServingEndpoint
  1853. tags: ['Internal', 'Admin', 'Video']
  1854. security:
  1855. - BasicAuth: []
  1856. requestBody:
  1857. $ref: '#/components/requestBodies/AdminConfigValue'
  1858. responses:
  1859. '200':
  1860. description: Video Serving Endpoint updated
  1861. content:
  1862. application/json:
  1863. schema:
  1864. $ref: '#/components/schemas/BaseAPIResponse'
  1865. '400':
  1866. $ref: '#/components/responses/400'
  1867. '401':
  1868. $ref: '#/components/responses/401BasicAuth'
  1869. default:
  1870. $ref: '#/components/responses/Default'
  1871. options:
  1872. operationId: SetVideoServingEndpointOptions
  1873. x-internal: true
  1874. tags: ['Objects', 'Internal', 'Admin', 'Video']
  1875. responses:
  1876. '204':
  1877. $ref: '#/components/responses/204'
  1878. /admin/config/nsfw:
  1879. post:
  1880. summary: Update NSFW marking
  1881. operationId: SetNSFW
  1882. tags: ['Internal', 'Admin']
  1883. security:
  1884. - BasicAuth: []
  1885. requestBody:
  1886. $ref: '#/components/requestBodies/AdminConfigValue'
  1887. responses:
  1888. '200':
  1889. description: NSFW status updated
  1890. content:
  1891. application/json:
  1892. schema:
  1893. $ref: '#/components/schemas/BaseAPIResponse'
  1894. '400':
  1895. $ref: '#/components/responses/400'
  1896. '401':
  1897. $ref: '#/components/responses/401BasicAuth'
  1898. default:
  1899. $ref: '#/components/responses/Default'
  1900. options:
  1901. operationId: SetNSFWOptions
  1902. x-internal: true
  1903. tags: ['Objects', 'Internal', 'Admin']
  1904. responses:
  1905. '204':
  1906. $ref: '#/components/responses/204'
  1907. /admin/config/directoryenabled:
  1908. post:
  1909. summary: Update directory enabled
  1910. operationId: SetDirectoryEnabled
  1911. tags: ['Internal', 'Admin']
  1912. security:
  1913. - BasicAuth: []
  1914. requestBody:
  1915. $ref: '#/components/requestBodies/AdminConfigValue'
  1916. responses:
  1917. '200':
  1918. description: Directory Enabled updated
  1919. content:
  1920. application/json:
  1921. schema:
  1922. $ref: '#/components/schemas/BaseAPIResponse'
  1923. '400':
  1924. $ref: '#/components/responses/400'
  1925. '401':
  1926. $ref: '#/components/responses/401BasicAuth'
  1927. default:
  1928. $ref: '#/components/responses/Default'
  1929. options:
  1930. operationId: SetDirectoryEnabledOptions
  1931. x-internal: true
  1932. tags: ['Objects', 'Internal', 'Admin']
  1933. responses:
  1934. '204':
  1935. $ref: '#/components/responses/204'
  1936. /admin/config/socialhandles:
  1937. post:
  1938. summary: Update social handles
  1939. operationId: SetSocialHandles
  1940. tags: ['Internal', 'Admin']
  1941. security:
  1942. - BasicAuth: []
  1943. requestBody:
  1944. content:
  1945. application/json:
  1946. schema:
  1947. type: object
  1948. properties:
  1949. value:
  1950. type: array
  1951. items:
  1952. $ref: '#/components/schemas/SocialHandle'
  1953. responses:
  1954. '200':
  1955. description: Social handles updated
  1956. content:
  1957. application/json:
  1958. schema:
  1959. $ref: '#/components/schemas/BaseAPIResponse'
  1960. '400':
  1961. $ref: '#/components/responses/400'
  1962. '401':
  1963. $ref: '#/components/responses/401BasicAuth'
  1964. default:
  1965. $ref: '#/components/responses/Default'
  1966. options:
  1967. operationId: SetSocialHandlesOptions
  1968. x-internal: true
  1969. tags: ['Objects', 'Internal', 'Admin']
  1970. responses:
  1971. '204':
  1972. $ref: '#/components/responses/204'
  1973. /admin/config/s3:
  1974. post:
  1975. summary: Update S3 configuration
  1976. operationId: SetS3Configuration
  1977. tags: ['Internal', 'Admin', 'Video']
  1978. security:
  1979. - BasicAuth: []
  1980. requestBody:
  1981. content:
  1982. application/json:
  1983. schema:
  1984. type: object
  1985. properties:
  1986. value:
  1987. $ref: '#/components/schemas/S3Info'
  1988. responses:
  1989. '200':
  1990. description: Directory Enabled updated
  1991. content:
  1992. application/json:
  1993. schema:
  1994. $ref: '#/components/schemas/BaseAPIResponse'
  1995. '400':
  1996. $ref: '#/components/responses/400'
  1997. '401':
  1998. $ref: '#/components/responses/401BasicAuth'
  1999. default:
  2000. $ref: '#/components/responses/Default'
  2001. options:
  2002. operationId: SetS3ConfigurationOptions
  2003. x-internal: true
  2004. tags: ['Objects', 'Internal', 'Admin', 'Video']
  2005. responses:
  2006. '204':
  2007. $ref: '#/components/responses/204'
  2008. /admin/config/serverurl:
  2009. post:
  2010. summary: Update server url
  2011. operationId: SetServerURL
  2012. tags: ['Internal', 'Admin']
  2013. security:
  2014. - BasicAuth: []
  2015. requestBody:
  2016. $ref: '#/components/requestBodies/AdminConfigValue'
  2017. responses:
  2018. '200':
  2019. description: Server URL updated
  2020. content:
  2021. application/json:
  2022. schema:
  2023. $ref: '#/components/schemas/BaseAPIResponse'
  2024. '400':
  2025. $ref: '#/components/responses/400'
  2026. '401':
  2027. $ref: '#/components/responses/401BasicAuth'
  2028. default:
  2029. $ref: '#/components/responses/Default'
  2030. options:
  2031. operationId: SetServerURLOptions
  2032. x-internal: true
  2033. tags: ['Objects', 'Internal', 'Admin']
  2034. responses:
  2035. '204':
  2036. $ref: '#/components/responses/204'
  2037. /admin/config/externalactions:
  2038. post:
  2039. summary: Update external action links
  2040. operationId: SetExternalActions
  2041. tags: ['Internal', 'Admin']
  2042. security:
  2043. - BasicAuth: []
  2044. requestBody:
  2045. content:
  2046. application/json:
  2047. schema:
  2048. type: object
  2049. properties:
  2050. value:
  2051. type: array
  2052. items:
  2053. $ref: '#/components/schemas/ExternalAction'
  2054. responses:
  2055. '200':
  2056. description: External Action Links updated
  2057. content:
  2058. application/json:
  2059. schema:
  2060. $ref: '#/components/schemas/BaseAPIResponse'
  2061. '400':
  2062. $ref: '#/components/responses/400'
  2063. '401':
  2064. $ref: '#/components/responses/401BasicAuth'
  2065. default:
  2066. $ref: '#/components/responses/Default'
  2067. options:
  2068. operationId: SetExternalActionsOptions
  2069. x-internal: true
  2070. tags: ['Objects', 'Internal', 'Admin']
  2071. responses:
  2072. '204':
  2073. $ref: '#/components/responses/204'
  2074. /admin/config/customstyles:
  2075. post:
  2076. summary: Update custom styles
  2077. operationId: SetCustomStyles
  2078. tags: ['Internal', 'Admin']
  2079. security:
  2080. - BasicAuth: []
  2081. requestBody:
  2082. $ref: '#/components/requestBodies/AdminConfigValue'
  2083. responses:
  2084. '200':
  2085. description: Custom styles updated
  2086. content:
  2087. application/json:
  2088. schema:
  2089. $ref: '#/components/schemas/BaseAPIResponse'
  2090. '400':
  2091. $ref: '#/components/responses/400'
  2092. '401':
  2093. $ref: '#/components/responses/401BasicAuth'
  2094. default:
  2095. $ref: '#/components/responses/Default'
  2096. options:
  2097. operationId: SetCustomStylesOptions
  2098. x-internal: true
  2099. tags: ['Objects', 'Internal', 'Admin']
  2100. responses:
  2101. '204':
  2102. $ref: '#/components/responses/204'
  2103. /admin/config/customjavascript:
  2104. post:
  2105. summary: Update custom JavaScript
  2106. operationId: SetCustomJavascript
  2107. tags: ['Internal', 'Admin']
  2108. security:
  2109. - BasicAuth: []
  2110. requestBody:
  2111. $ref: '#/components/requestBodies/AdminConfigValue'
  2112. responses:
  2113. '200':
  2114. description: Custom JavaScript updated
  2115. content:
  2116. application/json:
  2117. schema:
  2118. $ref: '#/components/schemas/BaseAPIResponse'
  2119. '400':
  2120. $ref: '#/components/responses/400'
  2121. '401':
  2122. $ref: '#/components/responses/401BasicAuth'
  2123. default:
  2124. $ref: '#/components/responses/Default'
  2125. options:
  2126. operationId: SetCustomJavascriptOptions
  2127. x-internal: true
  2128. tags: ['Objects', 'Internal', 'Admin']
  2129. responses:
  2130. '204':
  2131. $ref: '#/components/responses/204'
  2132. /admin/config/hideviewercount:
  2133. post:
  2134. summary: Update hide viewer count
  2135. operationId: SetHideViewerCount
  2136. tags: ['Internal', 'Admin']
  2137. security:
  2138. - BasicAuth: []
  2139. requestBody:
  2140. $ref: '#/components/requestBodies/AdminConfigValue'
  2141. responses:
  2142. '200':
  2143. description: Hide viewer count updated
  2144. content:
  2145. application/json:
  2146. schema:
  2147. $ref: '#/components/schemas/BaseAPIResponse'
  2148. '400':
  2149. $ref: '#/components/responses/400'
  2150. '401':
  2151. $ref: '#/components/responses/401BasicAuth'
  2152. default:
  2153. $ref: '#/components/responses/Default'
  2154. options:
  2155. operationId: SetHideViewerCountOptions
  2156. x-internal: true
  2157. tags: ['Objects', 'Internal', 'Admin']
  2158. responses:
  2159. '204':
  2160. $ref: '#/components/responses/204'
  2161. /admin/config/disablesearchindexing:
  2162. post:
  2163. summary: Update search indexing
  2164. operationId: SetDisableSearchIndexing
  2165. tags: ['Internal', 'Admin']
  2166. security:
  2167. - BasicAuth: []
  2168. requestBody:
  2169. $ref: '#/components/requestBodies/AdminConfigValue'
  2170. responses:
  2171. '200':
  2172. description: Search Indexing updated
  2173. content:
  2174. application/json:
  2175. schema:
  2176. $ref: '#/components/schemas/BaseAPIResponse'
  2177. '400':
  2178. $ref: '#/components/responses/400'
  2179. '401':
  2180. $ref: '#/components/responses/401BasicAuth'
  2181. default:
  2182. $ref: '#/components/responses/Default'
  2183. options:
  2184. operationId: SetDisableSearchIndexingOptions
  2185. x-internal: true
  2186. tags: ['Objects', 'Internal', 'Admin']
  2187. responses:
  2188. '204':
  2189. $ref: '#/components/responses/204'
  2190. /admin/config/federation/enable:
  2191. post:
  2192. summary: Enable/disable federation features
  2193. operationId: SetFederationEnabled
  2194. tags: ['Internal', 'Admin', 'Social']
  2195. security:
  2196. - BasicAuth: []
  2197. requestBody:
  2198. $ref: '#/components/requestBodies/AdminConfigValue'
  2199. responses:
  2200. '200':
  2201. description: Federation features enabled/disabled
  2202. content:
  2203. application/json:
  2204. schema:
  2205. $ref: '#/components/schemas/BaseAPIResponse'
  2206. '400':
  2207. $ref: '#/components/responses/400'
  2208. '401':
  2209. $ref: '#/components/responses/401BasicAuth'
  2210. default:
  2211. $ref: '#/components/responses/Default'
  2212. options:
  2213. operationId: SetFederationEnabledOptions
  2214. x-internal: true
  2215. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2216. responses:
  2217. '204':
  2218. $ref: '#/components/responses/204'
  2219. /admin/config/federation/private:
  2220. post:
  2221. summary: Set if federation activities are private
  2222. operationId: SetFederationActivityPrivate
  2223. tags: ['Internal', 'Admin', 'Social']
  2224. security:
  2225. - BasicAuth: []
  2226. requestBody:
  2227. $ref: '#/components/requestBodies/AdminConfigValue'
  2228. responses:
  2229. '200':
  2230. description: Private status set
  2231. content:
  2232. application/json:
  2233. schema:
  2234. $ref: '#/components/schemas/BaseAPIResponse'
  2235. '400':
  2236. $ref: '#/components/responses/400'
  2237. '401':
  2238. $ref: '#/components/responses/401BasicAuth'
  2239. default:
  2240. $ref: '#/components/responses/Default'
  2241. options:
  2242. operationId: SetFederationActivityPrivateOptions
  2243. x-internal: true
  2244. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2245. responses:
  2246. '204':
  2247. $ref: '#/components/responses/204'
  2248. /admin/config/federation/showengagement:
  2249. post:
  2250. summary: Set if fediverse engagement appears in chat
  2251. operationId: SetFederationShowEngagement
  2252. tags: ['Internal', 'Admin', 'Social']
  2253. security:
  2254. - BasicAuth: []
  2255. requestBody:
  2256. $ref: '#/components/requestBodies/AdminConfigValue'
  2257. responses:
  2258. '200':
  2259. description: Federation engagement set
  2260. content:
  2261. application/json:
  2262. schema:
  2263. $ref: '#/components/schemas/BaseAPIResponse'
  2264. '400':
  2265. $ref: '#/components/responses/400'
  2266. '401':
  2267. $ref: '#/components/responses/401BasicAuth'
  2268. default:
  2269. $ref: '#/components/responses/Default'
  2270. options:
  2271. operationId: SetFederationShowEngagementOptions
  2272. x-internal: true
  2273. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2274. responses:
  2275. '204':
  2276. $ref: '#/components/responses/204'
  2277. /admin/config/federation/username:
  2278. post:
  2279. summary: Set local federated username
  2280. operationId: SetFederationUsername
  2281. tags: ['Internal', 'Admin', 'Social']
  2282. security:
  2283. - BasicAuth: []
  2284. requestBody:
  2285. $ref: '#/components/requestBodies/AdminConfigValue'
  2286. responses:
  2287. '200':
  2288. description: Federation username set
  2289. content:
  2290. application/json:
  2291. schema:
  2292. $ref: '#/components/schemas/BaseAPIResponse'
  2293. '400':
  2294. $ref: '#/components/responses/400'
  2295. '401':
  2296. $ref: '#/components/responses/401BasicAuth'
  2297. default:
  2298. $ref: '#/components/responses/Default'
  2299. options:
  2300. operationId: SetFederationUsernameOptions
  2301. x-internal: true
  2302. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2303. responses:
  2304. '204':
  2305. $ref: '#/components/responses/204'
  2306. /admin/config/federation/livemessage:
  2307. post:
  2308. summary: Set federated go live message
  2309. operationId: SetFederationGoLiveMessage
  2310. tags: ['Internal', 'Admin', 'Social']
  2311. security:
  2312. - BasicAuth: []
  2313. requestBody:
  2314. $ref: '#/components/requestBodies/AdminConfigValue'
  2315. responses:
  2316. '200':
  2317. description: Federation username set
  2318. content:
  2319. application/json:
  2320. schema:
  2321. $ref: '#/components/schemas/BaseAPIResponse'
  2322. '400':
  2323. $ref: '#/components/responses/400'
  2324. '401':
  2325. $ref: '#/components/responses/401BasicAuth'
  2326. default:
  2327. $ref: '#/components/responses/Default'
  2328. options:
  2329. operationId: SetFederationGoLiveMessageOptions
  2330. x-internal: true
  2331. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2332. responses:
  2333. '204':
  2334. $ref: '#/components/responses/204'
  2335. /admin/config/federation/blockdomains:
  2336. post:
  2337. summary: Set Federation blocked domains
  2338. operationId: SetFederationBlockDomains
  2339. tags: ['Internal', 'Admin', 'Social']
  2340. security:
  2341. - BasicAuth: []
  2342. requestBody:
  2343. $ref: '#/components/requestBodies/AdminConfigValue'
  2344. responses:
  2345. '200':
  2346. description: Federation blocked domains set
  2347. content:
  2348. application/json:
  2349. schema:
  2350. $ref: '#/components/schemas/BaseAPIResponse'
  2351. '400':
  2352. $ref: '#/components/responses/400'
  2353. '401':
  2354. $ref: '#/components/responses/401BasicAuth'
  2355. default:
  2356. $ref: '#/components/responses/Default'
  2357. options:
  2358. operationId: SetFederationBlockDomainsOptions
  2359. x-internal: true
  2360. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2361. responses:
  2362. '204':
  2363. $ref: '#/components/responses/204'
  2364. /admin/config/notifications/discord:
  2365. post:
  2366. summary: Configure Discord notifications
  2367. operationId: SetDiscordNotificationConfiguration
  2368. tags: ['Internal', 'Admin', 'Notifications']
  2369. security:
  2370. - BasicAuth: []
  2371. requestBody:
  2372. content:
  2373. application/json:
  2374. schema:
  2375. type: object
  2376. properties:
  2377. value:
  2378. $ref: '#/components/schemas/DiscordNotificationConfiguration'
  2379. responses:
  2380. '200':
  2381. description: Discord notification configuration updated
  2382. content:
  2383. application/json:
  2384. schema:
  2385. $ref: '#/components/schemas/BaseAPIResponse'
  2386. '400':
  2387. $ref: '#/components/responses/400'
  2388. '401':
  2389. $ref: '#/components/responses/401BasicAuth'
  2390. default:
  2391. $ref: '#/components/responses/Default'
  2392. options:
  2393. operationId: SetDiscordNotificationConfigurationOptions
  2394. x-internal: true
  2395. tags: ['Objects', 'Internal', 'Admin', 'Notifications']
  2396. responses:
  2397. '204':
  2398. $ref: '#/components/responses/204'
  2399. /admin/config/notifications/browser:
  2400. post:
  2401. summary: Configure Browser notifications
  2402. operationId: SetBrowserNotificationConfiguration
  2403. tags: ['Internal', 'Admin', 'Notifications']
  2404. security:
  2405. - BasicAuth: []
  2406. requestBody:
  2407. content:
  2408. application/json:
  2409. schema:
  2410. type: object
  2411. properties:
  2412. value:
  2413. $ref: '#/components/schemas/BrowserNotificationConfiguration'
  2414. responses:
  2415. '200':
  2416. description: Browser notification configuration updated
  2417. content:
  2418. application/json:
  2419. schema:
  2420. $ref: '#/components/schemas/BaseAPIResponse'
  2421. '400':
  2422. $ref: '#/components/responses/400'
  2423. '401':
  2424. $ref: '#/components/responses/401BasicAuth'
  2425. default:
  2426. $ref: '#/components/responses/Default'
  2427. options:
  2428. operationId: SetBrowserNotificationConfigurationOptions
  2429. x-internal: true
  2430. tags: ['Objects', 'Internal', 'Admin', 'Notifications']
  2431. responses:
  2432. '204':
  2433. $ref: '#/components/responses/204'
  2434. /admin/webhooks:
  2435. get:
  2436. summary: Get all the webhooks
  2437. operationId: GetWebhooks
  2438. tags: ['Internal', 'Admin', 'Notifications']
  2439. security:
  2440. - BasicAuth: []
  2441. responses:
  2442. '200':
  2443. description: All webhooks
  2444. content:
  2445. application/json:
  2446. schema:
  2447. type: array
  2448. items:
  2449. $ref: '#/components/schemas/Webhook'
  2450. '400':
  2451. $ref: '#/components/responses/400'
  2452. '401':
  2453. $ref: '#/components/responses/401BasicAuth'
  2454. default:
  2455. $ref: '#/components/responses/Default'
  2456. options:
  2457. operationId: GetWebhooksOptions
  2458. x-internal: true
  2459. tags: ['Objects', 'Internal', 'Admin', 'Notifications']
  2460. responses:
  2461. '204':
  2462. $ref: '#/components/responses/204'
  2463. /admin/webhooks/delete:
  2464. post:
  2465. summary: Delete a single webhook
  2466. operationId: DeleteWebhook
  2467. tags: ['Internal', 'Admin', 'Notifications']
  2468. security:
  2469. - BasicAuth: []
  2470. requestBody:
  2471. content:
  2472. application/json:
  2473. schema:
  2474. type: object
  2475. properties:
  2476. id:
  2477. type: integer
  2478. responses:
  2479. '200':
  2480. description: Webhook successfully deleted
  2481. content:
  2482. application/json:
  2483. schema:
  2484. $ref: '#/components/schemas/BaseAPIResponse'
  2485. '400':
  2486. $ref: '#/components/responses/400'
  2487. '401':
  2488. $ref: '#/components/responses/401BasicAuth'
  2489. default:
  2490. $ref: '#/components/responses/Default'
  2491. options:
  2492. operationId: DeleteWebhookOptions
  2493. x-internal: true
  2494. tags: ['Objects', 'Internal', 'Admin', 'Notifications']
  2495. responses:
  2496. '204':
  2497. $ref: '#/components/responses/204'
  2498. /admin/webhooks/create:
  2499. post:
  2500. summary: Create a single webhook
  2501. operationId: CreateWebhook
  2502. tags: ['Internal', 'Admin', 'Notifications']
  2503. security:
  2504. - BasicAuth: []
  2505. requestBody:
  2506. content:
  2507. application/json:
  2508. schema:
  2509. type: object
  2510. properties:
  2511. url:
  2512. type: string
  2513. events:
  2514. type: array
  2515. items:
  2516. $ref: '#/components/schemas/WebhookEventType'
  2517. responses:
  2518. '200':
  2519. description: The new webhook
  2520. content:
  2521. application/json:
  2522. schema:
  2523. $ref: '#/components/schemas/Webhook'
  2524. '400':
  2525. $ref: '#/components/responses/400'
  2526. '401':
  2527. $ref: '#/components/responses/401BasicAuth'
  2528. default:
  2529. $ref: '#/components/responses/Default'
  2530. options:
  2531. operationId: CreateWebhookOptions
  2532. x-internal: true
  2533. tags: ['Objects', 'Internal', 'Admin', 'Notifications']
  2534. responses:
  2535. '204':
  2536. $ref: '#/components/responses/204'
  2537. /admin/accesstokens:
  2538. get:
  2539. summary: Get all access tokens
  2540. operationId: GetExternalAPIUsers
  2541. tags: ['Internal', 'Admin']
  2542. security:
  2543. - BasicAuth: []
  2544. responses:
  2545. '200':
  2546. description: List of external API users
  2547. content:
  2548. application/json:
  2549. schema:
  2550. type: array
  2551. items:
  2552. $ref: '#/components/schemas/ExternalAPIUser'
  2553. '400':
  2554. $ref: '#/components/responses/400'
  2555. '401':
  2556. $ref: '#/components/responses/401BasicAuth'
  2557. default:
  2558. $ref: '#/components/responses/Default'
  2559. options:
  2560. operationId: GetExternalAPIUsersOptions
  2561. x-internal: true
  2562. tags: ['Objects', 'Internal', 'Admin']
  2563. responses:
  2564. '204':
  2565. $ref: '#/components/responses/204'
  2566. /admin/accesstokens/delete:
  2567. post:
  2568. summary: Delete a single external API user
  2569. operationId: DeleteExternalAPIUser
  2570. tags: ['Internal', 'Admin']
  2571. security:
  2572. - BasicAuth: []
  2573. requestBody:
  2574. content:
  2575. application/json:
  2576. schema:
  2577. type: object
  2578. properties:
  2579. token:
  2580. type: string
  2581. responses:
  2582. '200':
  2583. description: External API user successfully deleted
  2584. content:
  2585. application/json:
  2586. schema:
  2587. $ref: '#/components/schemas/BaseAPIResponse'
  2588. '400':
  2589. $ref: '#/components/responses/400'
  2590. '401':
  2591. $ref: '#/components/responses/401BasicAuth'
  2592. default:
  2593. $ref: '#/components/responses/Default'
  2594. options:
  2595. operationId: DeleteExternalAPIUserOptions
  2596. x-internal: true
  2597. tags: ['Objects', 'Internal', 'Admin']
  2598. responses:
  2599. '204':
  2600. $ref: '#/components/responses/204'
  2601. /admin/accesstokens/create:
  2602. post:
  2603. summary: Create a single access token
  2604. operationId: CreateExternalAPIUser
  2605. tags: ['Internal', 'Admin']
  2606. security:
  2607. - BasicAuth: []
  2608. requestBody:
  2609. content:
  2610. application/json:
  2611. schema:
  2612. type: object
  2613. properties:
  2614. name:
  2615. type: string
  2616. scopes:
  2617. type: array
  2618. items:
  2619. type: string
  2620. responses:
  2621. '200':
  2622. description: The new external API user
  2623. content:
  2624. application/json:
  2625. schema:
  2626. $ref: '#/components/schemas/ExternalAPIUser'
  2627. '400':
  2628. $ref: '#/components/responses/400'
  2629. '401':
  2630. $ref: '#/components/responses/401BasicAuth'
  2631. default:
  2632. $ref: '#/components/responses/Default'
  2633. options:
  2634. operationId: CreateExternalAPIUserOptions
  2635. x-internal: true
  2636. tags: ['Objects', 'Internal', 'Admin']
  2637. responses:
  2638. '204':
  2639. $ref: '#/components/responses/204'
  2640. /admin/update/options:
  2641. get:
  2642. summary: Return the auto-update features that are supported for this instance
  2643. operationId: AutoUpdateOptions
  2644. tags: ['Internal', 'Admin']
  2645. x-internal: true
  2646. security:
  2647. - BasicAuth: []
  2648. responses:
  2649. '200':
  2650. description: Current auto-update options
  2651. content:
  2652. application/json:
  2653. schema:
  2654. type: object
  2655. properties:
  2656. supportsUpdate:
  2657. type: boolean
  2658. canRestart:
  2659. type: boolean
  2660. '400':
  2661. $ref: '#/components/responses/400'
  2662. '401':
  2663. $ref: '#/components/responses/401BasicAuth'
  2664. default:
  2665. $ref: '#/components/responses/Default'
  2666. options:
  2667. operationId: AutoUpdateOptionsOptions
  2668. x-internal: true
  2669. tags: ['Objects', 'Internal', 'Admin']
  2670. responses:
  2671. '204':
  2672. $ref: '#/components/responses/204'
  2673. /admin/update/start:
  2674. get:
  2675. summary: Begin the auto-update
  2676. operationId: AutoUpdateStart
  2677. tags: ['Internal', 'Admin']
  2678. x-internal: true
  2679. security:
  2680. - BasicAuth: []
  2681. responses:
  2682. '200':
  2683. description: Console output from update
  2684. content:
  2685. text/plain:
  2686. schema:
  2687. type: string
  2688. '400':
  2689. $ref: '#/components/responses/400'
  2690. '401':
  2691. $ref: '#/components/responses/401BasicAuth'
  2692. default:
  2693. $ref: '#/components/responses/Default'
  2694. options:
  2695. operationId: AutoUpdateStartOptions
  2696. x-internal: true
  2697. tags: ['Objects', 'Internal', 'Admin']
  2698. responses:
  2699. '204':
  2700. $ref: '#/components/responses/204'
  2701. /admin/update/forcequit:
  2702. get:
  2703. summary: Force quit the server and restart it
  2704. operationId: AutoUpdateForceQuit
  2705. x-internal: true
  2706. tags: ['Internal', 'Admin']
  2707. security:
  2708. - BasicAuth: []
  2709. responses:
  2710. '200':
  2711. description: Server force restart has been ordered
  2712. content:
  2713. application/json:
  2714. schema:
  2715. $ref: '#/components/schemas/BaseAPIResponse'
  2716. '400':
  2717. $ref: '#/components/responses/400'
  2718. '401':
  2719. $ref: '#/components/responses/401BasicAuth'
  2720. default:
  2721. $ref: '#/components/responses/Default'
  2722. options:
  2723. operationId: AutoUpdateForceQuitOptions
  2724. tags: ['Objects', 'Internal', 'Admin']
  2725. x-internal: true
  2726. responses:
  2727. '204':
  2728. $ref: '#/components/responses/204'
  2729. /admin/yp/reset:
  2730. get:
  2731. summary: Reset YP configuration
  2732. operationId: ResetYPRegistration
  2733. tags: ['Internal', 'Admin']
  2734. security:
  2735. - BasicAuth: []
  2736. responses:
  2737. '200':
  2738. description: YP Registration has been reset
  2739. content:
  2740. application/json:
  2741. schema:
  2742. $ref: '#/components/schemas/BaseAPIResponse'
  2743. '400':
  2744. $ref: '#/components/responses/400'
  2745. '401':
  2746. $ref: '#/components/responses/401BasicAuth'
  2747. default:
  2748. $ref: '#/components/responses/Default'
  2749. options:
  2750. operationId: ResetYPRegistrationOptions
  2751. x-internal: true
  2752. tags: ['Objects', 'Internal', 'Admin']
  2753. responses:
  2754. '204':
  2755. $ref: '#/components/responses/204'
  2756. /admin/metrics/video:
  2757. get:
  2758. summary: Get video playback metrics
  2759. operationId: GetVideoPlaybackMetrics
  2760. tags: ['Internal', 'Admin', 'Video']
  2761. security:
  2762. - BasicAuth: []
  2763. responses:
  2764. '200':
  2765. description: Video playback metrics
  2766. content:
  2767. application/json:
  2768. schema:
  2769. type: object
  2770. properties:
  2771. errors:
  2772. type: array
  2773. items:
  2774. $ref: '#/components/schemas/TimestampedValue'
  2775. qualityVariantChanges:
  2776. type: array
  2777. items:
  2778. $ref: '#/components/schemas/TimestampedValue'
  2779. highestLatency:
  2780. type: array
  2781. items:
  2782. $ref: '#/components/schemas/TimestampedValue'
  2783. medianLatency:
  2784. type: array
  2785. items:
  2786. $ref: '#/components/schemas/TimestampedValue'
  2787. lowestLatency:
  2788. type: array
  2789. items:
  2790. $ref: '#/components/schemas/TimestampedValue'
  2791. medianSegmentDownloadDuration:
  2792. type: array
  2793. items:
  2794. $ref: '#/components/schemas/TimestampedValue'
  2795. maximumSegmentDownloadDuration:
  2796. type: array
  2797. items:
  2798. $ref: '#/components/schemas/TimestampedValue'
  2799. minimumSegmentDownloadDuration:
  2800. type: array
  2801. items:
  2802. $ref: '#/components/schemas/TimestampedValue'
  2803. minPlayerBitrate:
  2804. type: array
  2805. items:
  2806. $ref: '#/components/schemas/TimestampedValue'
  2807. medianPlayerBitrate:
  2808. type: array
  2809. items:
  2810. $ref: '#/components/schemas/TimestampedValue'
  2811. maxPlayerBitrate:
  2812. type: array
  2813. items:
  2814. $ref: '#/components/schemas/TimestampedValue'
  2815. availableBitrates:
  2816. type: array
  2817. items:
  2818. type: integer
  2819. segmentLength:
  2820. type: integer
  2821. representation:
  2822. type: integer
  2823. '400':
  2824. $ref: '#/components/responses/400'
  2825. '401':
  2826. $ref: '#/components/responses/401BasicAuth'
  2827. default:
  2828. $ref: '#/components/responses/Default'
  2829. options:
  2830. operationId: GetVideoPlaybackMetricsOptions
  2831. x-internal: true
  2832. tags: ['Objects', 'Internal', 'Admin', 'Video']
  2833. responses:
  2834. '204':
  2835. $ref: '#/components/responses/204'
  2836. /admin/prometheus:
  2837. get:
  2838. summary: Endpoint to interface with Prometheus
  2839. description: |-
  2840. This endpoint interfaces with the Prometheus metrics API.
  2841. Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/)
  2842. operationId: GetPrometheusAPI
  2843. tags: ['Internal', 'Admin']
  2844. post:
  2845. summary: Endpoint to interface with Prometheus
  2846. description: |-
  2847. This endpoint interfaces with the Prometheus metrics API.
  2848. Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/)
  2849. operationId: PostPrometheusAPI
  2850. tags: ['Internal', 'Admin']
  2851. put:
  2852. summary: Endpoint to interface with Prometheus
  2853. description: |-
  2854. This endpoint interfaces with the Prometheus metrics API.
  2855. Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/)
  2856. operationId: PutPrometheusAPI
  2857. tags: ['Internal', 'Admin']
  2858. delete:
  2859. summary: Endpoint to interface with Prometheus
  2860. description: |-
  2861. This endpoint interfaces with the Prometheus metrics API.
  2862. Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/)
  2863. operationId: DeletePrometheusAPI
  2864. tags: ['Internal', 'Admin']
  2865. options:
  2866. summary: Endpoint to interface with Prometheus
  2867. description: |-
  2868. This endpoint interfaces with the Prometheus metrics API.
  2869. Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/)
  2870. operationId: OptionsPrometheusAPI
  2871. tags: ['Internal', 'Admin']
  2872. /admin/federation/send:
  2873. post:
  2874. summary: Send a public message to the Fediverse from the server's user
  2875. operationId: SendFederatedMessage
  2876. tags: ['Internal', 'Admin', 'Social']
  2877. security:
  2878. - BasicAuth: []
  2879. requestBody:
  2880. $ref: '#/components/requestBodies/AdminConfigValue'
  2881. responses:
  2882. '200':
  2883. description: Message sent
  2884. content:
  2885. application/json:
  2886. schema:
  2887. $ref: '#/components/schemas/BaseAPIResponse'
  2888. '400':
  2889. $ref: '#/components/responses/400'
  2890. '401':
  2891. $ref: '#/components/responses/401BasicAuth'
  2892. default:
  2893. $ref: '#/components/responses/Default'
  2894. options:
  2895. operationId: SendFederatedMessageOptions
  2896. x-internal: true
  2897. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2898. responses:
  2899. '204':
  2900. $ref: '#/components/responses/204'
  2901. /admin/federation/actions:
  2902. get:
  2903. summary: Get a paginated list of federated activities
  2904. operationId: GetFederatedActions
  2905. tags: ['Internal', 'Admin', 'Social']
  2906. security:
  2907. - BasicAuth: []
  2908. parameters:
  2909. - $ref: '#/components/parameters/Offset'
  2910. - $ref: '#/components/parameters/Limit'
  2911. responses:
  2912. '200':
  2913. description: A paginated list of federated activities
  2914. content:
  2915. application/json:
  2916. schema:
  2917. $ref: '#/components/schemas/PaginatedFederatedActivity'
  2918. '400':
  2919. $ref: '#/components/responses/400'
  2920. '401':
  2921. $ref: '#/components/responses/401BasicAuth'
  2922. default:
  2923. $ref: '#/components/responses/Default'
  2924. options:
  2925. operationId: GetFederatedActionsOptions
  2926. x-internal: true
  2927. tags: ['Objects', 'Internal', 'Admin', 'Social']
  2928. responses:
  2929. '204':
  2930. $ref: '#/components/responses/204'
  2931. /integrations/chat/system:
  2932. post:
  2933. summary: Send a system message to the chat
  2934. operationId: SendSystemMessage
  2935. tags: ['External', 'Chat']
  2936. security:
  2937. - BearerAuth: []
  2938. requestBody:
  2939. description: The content of the system message
  2940. content:
  2941. application/json:
  2942. schema:
  2943. $ref: '#/components/schemas/SystemMessage'
  2944. responses:
  2945. '200':
  2946. description: Message sent successfully
  2947. headers:
  2948. 'Access-Control-Allow-Origin':
  2949. $ref: '#/components/headers/Access-Control-Allow-Origin'
  2950. content:
  2951. application/json:
  2952. schema:
  2953. $ref: '#/components/schemas/BaseAPIResponse'
  2954. '400':
  2955. $ref: '#/components/responses/400'
  2956. '401':
  2957. $ref: '#/components/responses/401'
  2958. '500':
  2959. $ref: '#/components/responses/500'
  2960. default:
  2961. $ref: '#/components/responses/Default'
  2962. options:
  2963. operationId: SendSystemMessageOptions
  2964. x-internal: true
  2965. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  2966. responses:
  2967. '204':
  2968. $ref: '#/components/responses/204'
  2969. /integrations/chat/system/client/{clientId}:
  2970. post:
  2971. summary: Send a system message to a single client
  2972. operationId: SendSystemMessageToConnectedClient
  2973. tags: ['External', 'Chat']
  2974. security:
  2975. - BearerAuth: []
  2976. parameters:
  2977. - in: path
  2978. name: clientId
  2979. required: true
  2980. schema:
  2981. type: integer
  2982. description: The ID of the specified client
  2983. requestBody:
  2984. content:
  2985. application/json:
  2986. schema:
  2987. $ref: '#/components/schemas/SystemMessage'
  2988. responses:
  2989. '400':
  2990. $ref: '#/components/responses/400'
  2991. '401':
  2992. $ref: '#/components/responses/401'
  2993. '500':
  2994. $ref: '#/components/responses/500'
  2995. default:
  2996. $ref: '#/components/responses/Default'
  2997. options:
  2998. operationId: SendSystemMessageToConnectedClientOptions
  2999. x-internal: true
  3000. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  3001. parameters:
  3002. - in: path
  3003. name: clientId
  3004. required: true
  3005. schema:
  3006. type: integer
  3007. description: The ID of the specified client
  3008. responses:
  3009. '204':
  3010. $ref: '#/components/responses/204'
  3011. /integrations/chat/user:
  3012. post:
  3013. deprecated: true
  3014. summary: Send a user message to chat
  3015. operationId: SendUserMessage
  3016. tags: ['External', 'Chat']
  3017. security:
  3018. - BearerAuth: []
  3019. responses:
  3020. '400':
  3021. $ref: '#/components/responses/400'
  3022. options:
  3023. deprecated: true
  3024. operationId: SendUserMessageOptions
  3025. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  3026. responses:
  3027. '204':
  3028. $ref: '#/components/responses/204'
  3029. /integrations/chat/send:
  3030. post:
  3031. summary: Send a message to chat as a specific 3rd party bot/integration based on its access token
  3032. operationId: SendIntegrationChatMessage
  3033. tags: ['External', 'Chat']
  3034. security:
  3035. - BearerAuth: []
  3036. requestBody:
  3037. content:
  3038. application/json:
  3039. schema:
  3040. $ref: '#/components/schemas/UserMessage'
  3041. responses:
  3042. '200':
  3043. description: Message sent successfully
  3044. content:
  3045. application/json:
  3046. schema:
  3047. $ref: '#/components/schemas/BaseAPIResponse'
  3048. '400':
  3049. $ref: '#/components/responses/400'
  3050. '401':
  3051. $ref: '#/components/responses/401'
  3052. '500':
  3053. $ref: '#/components/responses/500'
  3054. default:
  3055. $ref: '#/components/responses/Default'
  3056. options:
  3057. operationId: SendIntegrationChatMessageOptions
  3058. x-internal: true
  3059. tags: ['Objects', 'External', 'Admin', 'Chat']
  3060. responses:
  3061. '204':
  3062. $ref: '#/components/responses/204'
  3063. /integrations/chat/action:
  3064. post:
  3065. summary: Send a user action to chat
  3066. operationId: SendChatAction
  3067. tags: ['External', 'Chat']
  3068. security:
  3069. - BearerAuth: []
  3070. requestBody:
  3071. content:
  3072. application/json:
  3073. schema:
  3074. $ref: '#/components/schemas/SystemActionEvent'
  3075. responses:
  3076. '200':
  3077. description: Action sent successfully
  3078. content:
  3079. application/json:
  3080. schema:
  3081. $ref: '#/components/schemas/BaseAPIResponse'
  3082. '400':
  3083. $ref: '#/components/responses/400'
  3084. '401':
  3085. $ref: '#/components/responses/401'
  3086. '500':
  3087. $ref: '#/components/responses/500'
  3088. default:
  3089. $ref: '#/components/responses/Default'
  3090. options:
  3091. operationId: SendChatActionOptions
  3092. x-internal: true
  3093. tags: ['Objects', 'Internal', 'Admin', 'Chat']
  3094. responses:
  3095. '204':
  3096. $ref: '#/components/responses/204'
  3097. /integrations/chat/messagevisibility:
  3098. post:
  3099. summary: Hide chat message
  3100. operationId: ExternalUpdateMessageVisibility
  3101. tags: ['External', 'Chat']
  3102. security:
  3103. - BearerAuth: []
  3104. requestBody:
  3105. content:
  3106. application/json:
  3107. schema:
  3108. $ref: '#/components/schemas/MessageVisibilityUpdate'
  3109. responses:
  3110. '200':
  3111. description: Messages updated
  3112. content:
  3113. application/json:
  3114. schema:
  3115. $ref: '#/components/schemas/BaseAPIResponse'
  3116. '400':
  3117. $ref: '#/components/responses/400'
  3118. '401':
  3119. $ref: '#/components/responses/401BasicAuth'
  3120. default:
  3121. $ref: '#/components/responses/Default'
  3122. options:
  3123. operationId: ExternalUpdateMessageVisibilityOptions
  3124. x-internal: true
  3125. tags: ['Objects', 'External', 'Admin', 'Chat']
  3126. responses:
  3127. '204':
  3128. $ref: '#/components/responses/204'
  3129. /integrations/streamtitle:
  3130. post:
  3131. summary: Stream title
  3132. operationId: ExternalSetStreamTitle
  3133. tags: ['External']
  3134. security:
  3135. - BearerAuth: []
  3136. requestBody:
  3137. $ref: '#/components/requestBodies/AdminConfigValue'
  3138. responses:
  3139. '200':
  3140. description: Stream title has been changed
  3141. content:
  3142. application/json:
  3143. schema:
  3144. $ref: '#/components/schemas/BaseAPIResponse'
  3145. '400':
  3146. $ref: '#/components/responses/400'
  3147. '401':
  3148. $ref: '#/components/responses/401BasicAuth'
  3149. default:
  3150. $ref: '#/components/responses/Default'
  3151. options:
  3152. operationId: ExternalSetStreamTitleOptions
  3153. x-internal: true
  3154. tags: ['Objects', 'External', 'Admin']
  3155. responses:
  3156. '204':
  3157. $ref: '#/components/responses/204'
  3158. /integrations/chat:
  3159. get:
  3160. summary: Get chat history
  3161. operationId: ExternalGetChatMessages
  3162. tags: ['External', 'Chat']
  3163. security:
  3164. - BearerAuth: []
  3165. responses:
  3166. '200':
  3167. description: List of chat messages
  3168. content:
  3169. application/json:
  3170. schema:
  3171. $ref: '#/components/schemas/ChatMessages'
  3172. '401':
  3173. $ref: '#/components/responses/401'
  3174. '501':
  3175. $ref: '#/components/responses/501'
  3176. default:
  3177. $ref: '#/components/responses/Default'
  3178. options:
  3179. operationId: ExternalGetChatMessagesOptions
  3180. x-internal: true
  3181. tags: ['Objects', 'External', 'Admin', 'Chat']
  3182. responses:
  3183. '204':
  3184. $ref: '#/components/responses/204'
  3185. /integrations/clients:
  3186. get:
  3187. summary: Connected clients
  3188. operationId: ExternalGetConnectedChatClients
  3189. tags: ['External', 'Chat']
  3190. security:
  3191. - BearerAuth: []
  3192. responses:
  3193. '200':
  3194. description: List of chat clients
  3195. content:
  3196. application/json:
  3197. schema:
  3198. $ref: '#/components/schemas/ChatClients'
  3199. '400':
  3200. $ref: '#/components/responses/400'
  3201. '401':
  3202. $ref: '#/components/responses/401BasicAuth'
  3203. default:
  3204. $ref: '#/components/responses/Default'
  3205. options:
  3206. operationId: ExternalGetConnectedChatClientsOptions
  3207. x-internal: true
  3208. tags: ['Objects', 'External', 'Admin', 'Chat']
  3209. responses:
  3210. '204':
  3211. $ref: '#/components/responses/204'
  3212. /moderation/chat/user/{userId}:
  3213. get:
  3214. summary: Get a user's details
  3215. operationId: GetUserDetails
  3216. tags: ['External', 'Chat']
  3217. parameters:
  3218. - in: path
  3219. name: userId
  3220. schema:
  3221. type: string
  3222. description: The ID of the user to find
  3223. required: true
  3224. - $ref: '#/components/parameters/AccessToken'
  3225. responses:
  3226. '200':
  3227. description: User information
  3228. content:
  3229. application/json:
  3230. schema:
  3231. $ref: '#/components/schemas/ModerationUserDetails'
  3232. '401':
  3233. $ref: '#/components/responses/401'
  3234. '404':
  3235. $ref: '#/components/responses/404'
  3236. default:
  3237. $ref: '#/components/responses/Default'
  3238. /auth/indieauth:
  3239. post:
  3240. summary: Begins auth flow
  3241. operationId: StartIndieAuthFlow
  3242. tags: ['Internal', 'Auth', 'Chat']
  3243. parameters:
  3244. - $ref: '#/components/parameters/AccessToken'
  3245. requestBody:
  3246. content:
  3247. application/json:
  3248. schema:
  3249. type: object
  3250. properties:
  3251. authHost:
  3252. type: string
  3253. responses:
  3254. '200':
  3255. description: Authentication redirect
  3256. content:
  3257. application/json:
  3258. schema:
  3259. type: object
  3260. properties:
  3261. redirect:
  3262. type: string
  3263. format: url
  3264. '400':
  3265. $ref: '#/components/responses/400'
  3266. '401':
  3267. $ref: '#/components/responses/401'
  3268. default:
  3269. $ref: '#/components/responses/Default'
  3270. /auth/indieauth/callback:
  3271. get:
  3272. summary: Handle the redirect from an IndieAuth server to continue the auth flow
  3273. operationId: HandleIndieAuthRedirect
  3274. tags: ['Internal', 'Auth', 'Chat']
  3275. parameters:
  3276. - $ref: '#/components/parameters/IndieAuthState'
  3277. - $ref: '#/components/parameters/IndieAuthCode'
  3278. responses:
  3279. '307':
  3280. description: Redirected to home page
  3281. '400':
  3282. $ref: '#/components/responses/400'
  3283. /auth/provider/indieauth:
  3284. get:
  3285. summary: Handles the IndieAuth auth endpoint
  3286. operationId: HandleIndieAuthEndpointGet
  3287. tags: ['Internal', 'Auth', 'Chat']
  3288. security:
  3289. - BasicAuth: []
  3290. parameters:
  3291. - $ref: '#/components/parameters/IndieAuthClientId'
  3292. - $ref: '#/components/parameters/IndieAuthRedirectURI'
  3293. - $ref: '#/components/parameters/IndieAuthCodeChallenge'
  3294. - $ref: '#/components/parameters/IndieAuthState'
  3295. - $ref: '#/components/parameters/IndieAuthCode'
  3296. responses:
  3297. '200':
  3298. description: IndieAuth flow concluded
  3299. content:
  3300. application/json:
  3301. schema:
  3302. $ref: '#/components/schemas/IndieAuthResponse'
  3303. '307':
  3304. description: Redirected to redirect URI
  3305. '400':
  3306. $ref: '#/components/responses/400'
  3307. '500':
  3308. $ref: '#/components/responses/500'
  3309. post:
  3310. summary: Handles IndieAuth from form submission
  3311. operationId: HandleIndieAuthEndpointPost
  3312. tags: ['Internal', 'Auth', 'Chat']
  3313. requestBody:
  3314. $ref: '#/components/requestBodies/IndieAuthEndpointForm'
  3315. responses:
  3316. '200':
  3317. description: IndieAuth flow concluded
  3318. content:
  3319. application/json:
  3320. schema:
  3321. oneOf:
  3322. - $ref: '#/components/schemas/IndieAuthResponse'
  3323. - $ref: '#/components/schemas/IndieAuthServerProfileResponse'
  3324. '400':
  3325. $ref: '#/components/responses/400'
  3326. /auth/fediverse:
  3327. post:
  3328. summary: Register a Fediverse OTP request
  3329. operationId: RegisterFediverseOTPRequest
  3330. tags: ['Internal', 'Auth', 'Chat']
  3331. parameters:
  3332. - $ref: '#/components/parameters/AccessToken'
  3333. requestBody:
  3334. content:
  3335. application/json:
  3336. schema:
  3337. type: object
  3338. properties:
  3339. account:
  3340. type: string
  3341. responses:
  3342. '200':
  3343. description: OTP sent
  3344. content:
  3345. application/json:
  3346. schema:
  3347. $ref: '#/components/schemas/BaseAPIResponse'
  3348. '400':
  3349. $ref: '#/components/responses/400'
  3350. '401':
  3351. $ref: '#/components/responses/401'
  3352. /auth/fediverse/verify:
  3353. post:
  3354. summary: Verify Fediverse OTP code
  3355. operationId: VerifyFediverseOTPRequest
  3356. tags: ['Internal', 'Auth', 'Chat']
  3357. requestBody:
  3358. content:
  3359. application/json:
  3360. schema:
  3361. type: object
  3362. properties:
  3363. code:
  3364. type: string
  3365. responses:
  3366. '200':
  3367. description: OTP Verified
  3368. content:
  3369. application/json:
  3370. schema:
  3371. $ref: '#/components/schemas/BaseAPIResponse'
  3372. '400':
  3373. $ref: '#/components/responses/400'
  3374. '403':
  3375. $ref: '#/components/responses/403'
  3376. components:
  3377. schemas:
  3378. Error:
  3379. type: object
  3380. description: Structure for an error response
  3381. tags: ['Objects']
  3382. properties:
  3383. error:
  3384. type: string
  3385. BaseAPIResponse:
  3386. type: object
  3387. description: Simple API response
  3388. tags: ['Objects']
  3389. properties:
  3390. message:
  3391. type: string
  3392. success:
  3393. type: boolean
  3394. Status:
  3395. type: object
  3396. description: Response for status
  3397. tags: ['Objects']
  3398. properties:
  3399. serverTime:
  3400. type: string
  3401. lastConnectTime:
  3402. type: string
  3403. lastDisconnectTime:
  3404. type: string
  3405. versionNumber:
  3406. type: string
  3407. viewerCount:
  3408. type: integer
  3409. online:
  3410. type: boolean
  3411. Emojis:
  3412. type: array
  3413. items:
  3414. $ref: '#/components/schemas/Emoji'
  3415. Emoji:
  3416. type: object
  3417. description: Name and url for an emoji
  3418. tags: ['Objects']
  3419. properties:
  3420. name:
  3421. type: string
  3422. description: The name of the emoji
  3423. url:
  3424. type: string
  3425. description: URL for the emoji image
  3426. AnonymousUser:
  3427. type: object
  3428. tags: ['Objects']
  3429. properties:
  3430. id:
  3431. type: string
  3432. accessToken:
  3433. type: string
  3434. displayName:
  3435. type: string
  3436. User:
  3437. type: object
  3438. tags: ['Objects']
  3439. properties:
  3440. createdAt:
  3441. type: string
  3442. disabledAt:
  3443. type: string
  3444. nameChangedAt:
  3445. type: string
  3446. id:
  3447. type: string
  3448. displayName:
  3449. type: string
  3450. previousNames:
  3451. type: array
  3452. items:
  3453. type: string
  3454. scopes:
  3455. type: array
  3456. items:
  3457. type: string
  3458. displayColor:
  3459. type: integer
  3460. isBot:
  3461. type: boolean
  3462. authenticated:
  3463. type: boolean
  3464. Users:
  3465. type: array
  3466. items:
  3467. $ref: '#/components/schemas/User'
  3468. Follower:
  3469. type: object
  3470. tags: ['Objects']
  3471. properties:
  3472. link:
  3473. type: string
  3474. description: The IRI of the remote actor.
  3475. name:
  3476. type: string
  3477. description: The display name of the follower.
  3478. username:
  3479. type: string
  3480. description: The account username of the remote actor.
  3481. image:
  3482. type: string
  3483. description: The avatar image of the follower.
  3484. timestamp:
  3485. type: string
  3486. description: When this follow request was created.
  3487. disabledAt:
  3488. type: string
  3489. description: When this follower was rejected or disabled.
  3490. Followers:
  3491. type: array
  3492. tags: ['Objects']
  3493. items:
  3494. $ref: '#/components/schemas/Follower'
  3495. PaginatedFollowers:
  3496. type: object
  3497. tags: ['Objects']
  3498. properties:
  3499. total:
  3500. type: integer
  3501. results:
  3502. $ref: '#/components/schemas/Followers'
  3503. Event:
  3504. type: object
  3505. tags: ['Objects']
  3506. properties:
  3507. timestamp:
  3508. type: string
  3509. type:
  3510. type: string
  3511. id:
  3512. type: string
  3513. UserEvent:
  3514. type: object
  3515. tags: ['Objects']
  3516. properties:
  3517. user:
  3518. $ref: '#/components/schemas/User'
  3519. hiddenAt:
  3520. type: string
  3521. clientId:
  3522. type: integer
  3523. MessageEvent:
  3524. type: object
  3525. tags: ['Objects']
  3526. properties:
  3527. body:
  3528. type: string
  3529. ChatMessages:
  3530. type: array
  3531. tags: ['Objects']
  3532. items:
  3533. anyOf:
  3534. - $ref: '#/components/schemas/UserMessage'
  3535. - $ref: '#/components/schemas/SystemMessage'
  3536. - $ref: '#/components/schemas/ActionMessage'
  3537. - $ref: '#/components/schemas/FederatedAction'
  3538. UserMessage:
  3539. type: object
  3540. tags: ['Objects']
  3541. allOf:
  3542. - $ref: '#/components/schemas/Event'
  3543. - $ref: '#/components/schemas/UserEvent'
  3544. - $ref: '#/components/schemas/MessageEvent'
  3545. SystemMessage:
  3546. type: object
  3547. tags: ['Objects']
  3548. allOf:
  3549. - $ref: '#/components/schemas/Event'
  3550. - $ref: '#/components/schemas/MessageEvent'
  3551. SystemActionEvent:
  3552. type: object
  3553. tags: ['Objects']
  3554. allOf:
  3555. - $ref: '#/components/schemas/Event'
  3556. - $ref: '#/components/schemas/MessageEvent'
  3557. ActionMessage:
  3558. type: object
  3559. tags: ['Objects']
  3560. allOf:
  3561. - $ref: '#/components/schemas/Event'
  3562. - $ref: '#/components/schemas/MessageEvent'
  3563. FederatedAction:
  3564. type: object
  3565. tags: ['Objects']
  3566. allOf:
  3567. - $ref: '#/components/schemas/Event'
  3568. - $ref: '#/components/schemas/MessageEvent'
  3569. - type: object
  3570. properties:
  3571. image:
  3572. type: string
  3573. link:
  3574. type: string
  3575. title:
  3576. type: string
  3577. WebConfig:
  3578. type: object
  3579. tags: ['Objects']
  3580. properties:
  3581. appearanceVariables:
  3582. type: object
  3583. additionalProperties:
  3584. type: string
  3585. name:
  3586. type: string
  3587. customStyles:
  3588. type: string
  3589. streamTitle:
  3590. type: string
  3591. offlineMessage:
  3592. type: string
  3593. logo:
  3594. type: string
  3595. version:
  3596. type: string
  3597. socketHostOverride:
  3598. type: string
  3599. extraPageContent:
  3600. type: string
  3601. summary:
  3602. type: string
  3603. tags:
  3604. type: array
  3605. items:
  3606. type: string
  3607. socialHandles:
  3608. type: array
  3609. items:
  3610. $ref: '#/components/schemas/SocialHandle'
  3611. externalActions:
  3612. type: array
  3613. items:
  3614. $ref: '#/components/schemas/ExternalAction'
  3615. notifications:
  3616. $ref: '#/components/schemas/NotificationConfig'
  3617. federation:
  3618. $ref: '#/components/schemas/FederationConfig'
  3619. maxSocketPayloadSize:
  3620. type: integer
  3621. hideViewerCount:
  3622. type: boolean
  3623. chatDisabled:
  3624. type: boolean
  3625. nsfw:
  3626. type: boolean
  3627. authentication:
  3628. $ref: '#/components/schemas/AuthenticationConfig'
  3629. SocialHandle:
  3630. type: object
  3631. tags: ['Objects']
  3632. properties:
  3633. platform:
  3634. type: string
  3635. url:
  3636. type: string
  3637. icon:
  3638. type: string
  3639. ExternalAction:
  3640. type: object
  3641. tags: ['Objects']
  3642. properties:
  3643. url:
  3644. type: string
  3645. html:
  3646. type: string
  3647. title:
  3648. type: string
  3649. description:
  3650. type: string
  3651. icon:
  3652. type: string
  3653. color:
  3654. type: string
  3655. openExternally:
  3656. type: boolean
  3657. NotificationConfig:
  3658. type: object
  3659. tags: ['Objects']
  3660. properties:
  3661. browser:
  3662. $ref: '#/components/schemas/BrowserConfig'
  3663. BrowserConfig:
  3664. type: object
  3665. tags: ['Objects']
  3666. properties:
  3667. publicKey:
  3668. type: string
  3669. enabled:
  3670. type: boolean
  3671. FederationConfig:
  3672. type: object
  3673. tags: ['Objects']
  3674. properties:
  3675. account:
  3676. type: string
  3677. followerCount:
  3678. type: integer
  3679. enabled:
  3680. type: boolean
  3681. AuthenticationConfig:
  3682. type: object
  3683. tags: ['Objects']
  3684. properties:
  3685. indieAuthEnabled:
  3686. type: boolean
  3687. YPDetails:
  3688. type: object
  3689. tags: ['Objects']
  3690. properties:
  3691. lastConnectTime:
  3692. type: string
  3693. name:
  3694. type: string
  3695. description:
  3696. type: string
  3697. streamTitle:
  3698. type: string
  3699. logo:
  3700. type: string
  3701. tags:
  3702. type: array
  3703. items:
  3704. type: string
  3705. social:
  3706. type: array
  3707. items:
  3708. $ref: '#/components/schemas/SocialHandle'
  3709. viewerCount:
  3710. type: integer
  3711. overallMaxViewerCount:
  3712. type: integer
  3713. sessionMaxViewerCount:
  3714. type: integer
  3715. nsfw:
  3716. type: boolean
  3717. online:
  3718. type: boolean
  3719. VideoVariant:
  3720. type: object
  3721. tags: ['Objects', 'Video']
  3722. properties:
  3723. index:
  3724. type: integer
  3725. name:
  3726. type: string
  3727. PlaybackMetrics:
  3728. type: object
  3729. tags: ['Objects', 'Video']
  3730. properties:
  3731. bandwidth:
  3732. type: number
  3733. format: double
  3734. latency:
  3735. type: number
  3736. format: double
  3737. errors:
  3738. type: number
  3739. format: double
  3740. downloadDuration:
  3741. type: number
  3742. format: double
  3743. qualityVariantChanges:
  3744. type: number
  3745. format: double
  3746. Broadcaster:
  3747. type: object
  3748. tags: ['Objects', 'Video']
  3749. properties:
  3750. time:
  3751. type: string
  3752. format: date-time
  3753. remoteAddr:
  3754. type: string
  3755. streamDetails:
  3756. $ref: '#/components/schemas/InboundStreamDetails'
  3757. InboundStreamDetails:
  3758. type: object
  3759. tags: ['Objects', 'Video']
  3760. properties:
  3761. videoCodec:
  3762. type: string
  3763. audioCodec:
  3764. type: string
  3765. encoder:
  3766. type: string
  3767. width:
  3768. type: integer
  3769. height:
  3770. type: integer
  3771. videoBitrate:
  3772. type: integer
  3773. audioBitrate:
  3774. type: integer
  3775. framerate:
  3776. type: number
  3777. format: float
  3778. CurrentBroadcast:
  3779. type: object
  3780. tags: ['Objects', 'Video']
  3781. properties:
  3782. outputSettings:
  3783. type: array
  3784. items:
  3785. $ref: '#/components/schemas/StreamOutputVariant'
  3786. latencyLevel:
  3787. $ref: '#/components/schemas/LatencyLevel'
  3788. StreamOutputVariant:
  3789. type: object
  3790. tags: ['Objects', 'Video']
  3791. properties:
  3792. name:
  3793. type: string
  3794. videoPassthrough:
  3795. type: boolean
  3796. audioPassthrough:
  3797. type: boolean
  3798. videoBitrate:
  3799. type: integer
  3800. audioBitrate:
  3801. type: integer
  3802. scaledWidth:
  3803. type: integer
  3804. scaledHeight:
  3805. type: integer
  3806. framerate:
  3807. type: integer
  3808. cpuUsageLevel:
  3809. type: integer
  3810. LatencyLevel:
  3811. type: object
  3812. properties:
  3813. level:
  3814. type: integer
  3815. StreamHealthOverview:
  3816. type: object
  3817. tags: ['Objects', 'Video']
  3818. properties:
  3819. message:
  3820. type: string
  3821. healthPercentage:
  3822. type: integer
  3823. representation:
  3824. type: integer
  3825. healthy:
  3826. type: boolean
  3827. BrowserNotificationConfiguration:
  3828. type: object
  3829. tags: ['Objects', 'Notifications']
  3830. properties:
  3831. goLiveMessage:
  3832. type: string
  3833. enabled:
  3834. type: boolean
  3835. DiscordNotificationConfiguration:
  3836. type: object
  3837. tags: ['Objects', 'Notifications']
  3838. properties:
  3839. webhook:
  3840. type: string
  3841. goLiveMessage:
  3842. type: string
  3843. enabled:
  3844. type: boolean
  3845. S3Info:
  3846. type: object
  3847. tags: ['Objects']
  3848. properties:
  3849. endpoint:
  3850. type: string
  3851. accessKey:
  3852. type: string
  3853. secret:
  3854. type: string
  3855. bucket:
  3856. type: string
  3857. region:
  3858. type: string
  3859. acl:
  3860. type: string
  3861. pathPrefix:
  3862. type: string
  3863. enabled:
  3864. type: boolean
  3865. forcePathStyle:
  3866. type: boolean
  3867. StreamKey:
  3868. type: object
  3869. tags: ['Objects']
  3870. properties:
  3871. key:
  3872. type: string
  3873. comment:
  3874. type: string
  3875. TimestampedValue:
  3876. type: object
  3877. tags: ['Objects']
  3878. properties:
  3879. time:
  3880. type: string
  3881. format: date-time
  3882. value:
  3883. type: number
  3884. format: double
  3885. Viewer:
  3886. type: object
  3887. tags: ['Objects', 'Video']
  3888. properties:
  3889. firstSeen:
  3890. type: string
  3891. format: date-time
  3892. geo:
  3893. $ref: '#/components/schemas/GeoDetails'
  3894. userAgent:
  3895. type: string
  3896. ipAddress:
  3897. type: string
  3898. clientID:
  3899. type: string
  3900. GeoDetails:
  3901. type: object
  3902. tags: ['Objects']
  3903. properties:
  3904. countryCode:
  3905. type: string
  3906. regionName:
  3907. type: string
  3908. timeZone:
  3909. type: string
  3910. CollectedMetrics:
  3911. tags: ['Objects']
  3912. type: object
  3913. properties:
  3914. disk:
  3915. type: array
  3916. items:
  3917. $ref: '#/components/schemas/TimestampedValue'
  3918. memory:
  3919. type: array
  3920. items:
  3921. $ref: '#/components/schemas/TimestampedValue'
  3922. cpu:
  3923. type: array
  3924. items:
  3925. $ref: '#/components/schemas/TimestampedValue'
  3926. ChatClient:
  3927. type: object
  3928. tags: ['Objects', 'Chat']
  3929. properties:
  3930. connectedAt:
  3931. type: string
  3932. format: date-time
  3933. user:
  3934. $ref: '#/components/schemas/User'
  3935. geo:
  3936. $ref: '#/components/schemas/GeoDetails'
  3937. userAgent:
  3938. type: string
  3939. messageCount:
  3940. type: integer
  3941. ChatClients:
  3942. type: array
  3943. tags: ['Objects', 'Chat']
  3944. items:
  3945. $ref: '#/components/schemas/ChatClient'
  3946. IPAddress:
  3947. type: object
  3948. tags: ['Objects', 'Chat']
  3949. properties:
  3950. createdAt:
  3951. type: string
  3952. format: date-time
  3953. ipAddress:
  3954. type: string
  3955. notes:
  3956. type: string
  3957. Webhook:
  3958. type: object
  3959. tags: ['Objects', 'Notifications']
  3960. properties:
  3961. timestamp:
  3962. type: string
  3963. format: date-time
  3964. lastUsed:
  3965. type: string
  3966. format: date-time
  3967. url:
  3968. type: string
  3969. events:
  3970. type: array
  3971. items:
  3972. $ref: '#/components/schemas/WebhookEventType'
  3973. id:
  3974. type: integer
  3975. WebhookEventType:
  3976. type: string
  3977. tags: ['Objects', 'Notifications']
  3978. enum:
  3979. - CHAT
  3980. - USER_JOINED
  3981. - USER_PARTED
  3982. - NAME_CHANGE
  3983. - VISIBILITY-UPDATE
  3984. - PING
  3985. - PONG
  3986. - STREAM_STARTED
  3987. - STREAM_STOPPED
  3988. - STREAM_TITLE_UPDATED
  3989. - SYSTEM
  3990. - CHAT_ACTION
  3991. ExternalAPIUser:
  3992. type: object
  3993. properties:
  3994. createdAt:
  3995. type: string
  3996. format: date-time
  3997. lastUsedAt:
  3998. type: string
  3999. format: date-time
  4000. id:
  4001. type: string
  4002. accessToken:
  4003. type: string
  4004. displayName:
  4005. type: string
  4006. type:
  4007. type: string
  4008. scopes:
  4009. type: array
  4010. items:
  4011. type: string
  4012. displayColor:
  4013. type: integer
  4014. isBot:
  4015. type: boolean
  4016. MessageVisibilityUpdate:
  4017. type: object
  4018. tags: ['Objects', 'Chat']
  4019. properties:
  4020. idArray:
  4021. type: array
  4022. items:
  4023. type: string
  4024. visible:
  4025. type: boolean
  4026. ModerationUserDetails:
  4027. type: object
  4028. tags: ['Objects', 'Chat']
  4029. properties:
  4030. user:
  4031. $ref: '#/components/schemas/User'
  4032. connectedClients:
  4033. type: array
  4034. items:
  4035. $ref: '#/components/schemas/ModerationConnectedClient'
  4036. messages:
  4037. type: array
  4038. items:
  4039. $ref: '#/components/schemas/UserMessage'
  4040. ModerationConnectedClient:
  4041. type: object
  4042. tags: ['Objects', 'Chat']
  4043. properties:
  4044. connectedAt:
  4045. type: string
  4046. format: date-time
  4047. userAgent:
  4048. type: string
  4049. geo:
  4050. type: string
  4051. id:
  4052. type: integer
  4053. format: int64
  4054. messageCount:
  4055. type: integer
  4056. FederatedActivity:
  4057. type: object
  4058. tags: ['Objects', 'Social']
  4059. properties:
  4060. timestamp:
  4061. type: string
  4062. format: date-time
  4063. iri:
  4064. type: string
  4065. actorIRI:
  4066. type: string
  4067. type:
  4068. type: string
  4069. PaginatedFederatedActivity:
  4070. type: object
  4071. tags: ['Objects', 'Social']
  4072. properties:
  4073. total:
  4074. type: integer
  4075. results:
  4076. $ref: '#/components/schemas/FederatedActivity'
  4077. AdminStatus:
  4078. type: object
  4079. tags: ['Objects']
  4080. properties:
  4081. broadcaster:
  4082. $ref: '#/components/schemas/Broadcaster'
  4083. currentBroadcast:
  4084. $ref: '#/components/schemas/CurrentBroadcast'
  4085. health:
  4086. $ref: '#/components/schemas/StreamHealthOverview'
  4087. streamTitle:
  4088. type: string
  4089. versionNumber:
  4090. type: string
  4091. viewerCount:
  4092. type: integer
  4093. overallPeakViewerCount:
  4094. type: integer
  4095. sessionPeakViewerCount:
  4096. type: integer
  4097. online:
  4098. type: boolean
  4099. AdminServerConfig:
  4100. type: object
  4101. tags: ['Objects']
  4102. properties:
  4103. instanceDetails:
  4104. $ref: '#/components/schemas/AdminWebConfig'
  4105. notifications:
  4106. $ref: '#/components/schemas/AdminNotificationsConfig'
  4107. yp:
  4108. $ref: '#/components/schemas/AdminYPInfo'
  4109. ffmpegPath:
  4110. type: string
  4111. adminPassword:
  4112. type: string
  4113. socketHostOverride:
  4114. type: string
  4115. webServerIP:
  4116. type: string
  4117. videoCodec:
  4118. type: string
  4119. videoServingEndpoint:
  4120. type: string
  4121. s3:
  4122. $ref: '#/components/schemas/S3Info'
  4123. federation:
  4124. $ref: '#/components/schemas/AdminFederationConfig'
  4125. supportedCodecs:
  4126. type: array
  4127. items:
  4128. type: string
  4129. externalActions:
  4130. type: array
  4131. items:
  4132. $ref: '#/components/schemas/ExternalAction'
  4133. forbiddenUsernames:
  4134. type: array
  4135. items:
  4136. type: string
  4137. suggestedUsernames:
  4138. type: array
  4139. items:
  4140. type: string
  4141. streamKeys:
  4142. type: array
  4143. items:
  4144. $ref: '#/components/schemas/StreamKey'
  4145. videoSettings:
  4146. $ref: '#/components/schemas/AdminVideoSettings'
  4147. rtmpServerPort:
  4148. type: integer
  4149. webServerPort:
  4150. type: integer
  4151. chatDisabled:
  4152. type: boolean
  4153. chatJoinMessagesEnabled:
  4154. type: boolean
  4155. chatEstablishedUserMode:
  4156. type: boolean
  4157. disableSearchIndexing:
  4158. type: boolean
  4159. streamKeyOverridden:
  4160. type: boolean
  4161. hideViewerCount:
  4162. type: boolean
  4163. AdminWebConfig:
  4164. type: object
  4165. tags: ['Objects']
  4166. properties:
  4167. appearanceVariables:
  4168. type: object
  4169. additionalProperties:
  4170. type: string
  4171. version:
  4172. type: string
  4173. welcomeMessage:
  4174. type: string
  4175. offlineMessage:
  4176. type: string
  4177. logo:
  4178. type: string
  4179. name:
  4180. type: string
  4181. extraPageContent:
  4182. type: string
  4183. streamTitle:
  4184. type: string
  4185. customStyles:
  4186. type: string
  4187. customJavascript:
  4188. type: string
  4189. summary:
  4190. type: string
  4191. tags:
  4192. type: array
  4193. items:
  4194. type: string
  4195. socialHandles:
  4196. type: array
  4197. items:
  4198. $ref: '#/components/schemas/SocialHandle'
  4199. nsfw:
  4200. type: boolean
  4201. AdminNotificationsConfig:
  4202. type: object
  4203. tags: ['Objects', 'Notifications']
  4204. properties:
  4205. browser:
  4206. $ref: '#/components/schemas/BrowserNotificationConfiguration'
  4207. discord:
  4208. $ref: '#/components/schemas/DiscordNotificationConfiguration'
  4209. AdminYPInfo:
  4210. type: object
  4211. tags: ['Objects']
  4212. properties:
  4213. instanceUrl:
  4214. type: string
  4215. enabled:
  4216. type: boolean
  4217. AdminFederationConfig:
  4218. tags: ['Objects', 'Social']
  4219. type: object
  4220. properties:
  4221. username:
  4222. type: string
  4223. goLiveMessage:
  4224. type: string
  4225. blockedDomains:
  4226. type: array
  4227. items:
  4228. type: string
  4229. enabled:
  4230. type: boolean
  4231. isPrivate:
  4232. type: boolean
  4233. showEngagement:
  4234. type: boolean
  4235. AdminVideoSettings:
  4236. type: object
  4237. tags: ['Objects', 'Video']
  4238. properties:
  4239. videoQualityVariants:
  4240. type: array
  4241. items:
  4242. $ref: '#/components/schemas/StreamOutputVariant'
  4243. latencyLevel:
  4244. type: integer
  4245. AdminLog:
  4246. type: object
  4247. tags: ['Objects']
  4248. properties:
  4249. time:
  4250. type: string
  4251. format: date-time
  4252. message:
  4253. type: string
  4254. level:
  4255. type: string
  4256. AdminConfigValue:
  4257. type: object
  4258. tags: ['Objects']
  4259. properties:
  4260. value:
  4261. oneOf:
  4262. - type: string
  4263. - type: boolean
  4264. - type: array
  4265. items:
  4266. type: string
  4267. - type: number
  4268. IndieAuthResponse:
  4269. type: object
  4270. tags: ['Objects', 'Auth']
  4271. properties:
  4272. me:
  4273. type: string
  4274. profile:
  4275. $ref: '#/components/schemas/IndieAuthProfile'
  4276. error:
  4277. type: string
  4278. errorDescription:
  4279. type: string
  4280. IndieAuthProfile:
  4281. type: object
  4282. tags: ['Objects', 'Auth']
  4283. properties:
  4284. name:
  4285. type: string
  4286. url:
  4287. type: string
  4288. photo:
  4289. type: string
  4290. IndieAuthServerProfileResponse:
  4291. type: object
  4292. tags: ['Objects', 'Auth']
  4293. properties:
  4294. me:
  4295. type: string
  4296. profile:
  4297. $ref: '#/components/schemas/IndieAuthServerProfile'
  4298. error:
  4299. type: string
  4300. errorDescription:
  4301. type: string
  4302. IndieAuthServerProfile:
  4303. type: object
  4304. tags: ['Objects', 'Auth']
  4305. properties:
  4306. name:
  4307. type: string
  4308. url:
  4309. type: string
  4310. photo:
  4311. type: string
  4312. headers:
  4313. 'Access-Control-Allow-Origin':
  4314. schema:
  4315. type: string
  4316. 'Access-Control-Allow-Credentials':
  4317. schema:
  4318. type: string
  4319. format: boolean
  4320. 'Access-Control-Allow-Headers':
  4321. schema:
  4322. type: string
  4323. 'WWW-Authenticate':
  4324. schema:
  4325. type: string
  4326. 'X-Content-Type-Options':
  4327. schema:
  4328. type: string
  4329. requestBodies:
  4330. AdminConfigValue:
  4331. description: A single value that is used in the request
  4332. content:
  4333. application/json:
  4334. schema:
  4335. $ref: '#/components/schemas/AdminConfigValue'
  4336. IndieAuthEndpointForm:
  4337. description: Form submission from IndieAuth
  4338. content:
  4339. application/x-www-form-urlencoded:
  4340. schema:
  4341. type: object
  4342. properties:
  4343. code:
  4344. type: string
  4345. redirect_uri:
  4346. type: string
  4347. client_id:
  4348. type: string
  4349. codeVerifier:
  4350. type: string
  4351. responses:
  4352. Default:
  4353. description: Unexpected error
  4354. content:
  4355. application/json:
  4356. schema:
  4357. $ref: '#/components/schemas/BaseAPIResponse'
  4358. '204':
  4359. description: No Content
  4360. '204Options':
  4361. description: No Content
  4362. x-internal: true
  4363. headers:
  4364. 'Access-Control-Allow-Origin':
  4365. $ref: '#/components/headers/Access-Control-Allow-Origin'
  4366. '400':
  4367. description: Bad request
  4368. content:
  4369. application/json:
  4370. schema:
  4371. $ref: '#/components/schemas/BaseAPIResponse'
  4372. '401':
  4373. description: Unauthorized
  4374. content:
  4375. text/plain:
  4376. schema:
  4377. type: string
  4378. '401BasicAuth':
  4379. description: Basic auth failure
  4380. headers:
  4381. 'Access-Control-Allow-Origin':
  4382. $ref: '#/components/headers/Access-Control-Allow-Origin'
  4383. 'Access-Control-Allow-Credentials':
  4384. $ref: '#/components/headers/Access-Control-Allow-Credentials'
  4385. 'Access-Control-Allow-Headers':
  4386. $ref: '#/components/headers/Access-Control-Allow-Headers'
  4387. 'WWW-Authenticate':
  4388. $ref: '#/components/headers/WWW-Authenticate'
  4389. 'X-Content-Type-Options':
  4390. $ref: '#/components/headers/X-Content-Type-Options'
  4391. content:
  4392. text/plain:
  4393. schema:
  4394. type: string
  4395. '403':
  4396. description: Forbidden
  4397. '404':
  4398. description: Not found
  4399. '500':
  4400. description: Internal Server Error
  4401. content:
  4402. application/json:
  4403. schema:
  4404. $ref: '#/components/schemas/Error'
  4405. '501':
  4406. description: Not Implemented
  4407. content:
  4408. application/json:
  4409. schema:
  4410. $ref: '#/components/schemas/Error'
  4411. parameters:
  4412. Offset:
  4413. in: query
  4414. name: offset
  4415. schema:
  4416. type: integer
  4417. description: The number of items to skip before starting to collect the result set
  4418. Limit:
  4419. in: query
  4420. name: limit
  4421. schema:
  4422. type: integer
  4423. description: The numbers of items to return
  4424. AccessToken:
  4425. in: query
  4426. name: accessToken
  4427. schema:
  4428. type: string
  4429. required: true
  4430. IndieAuthClientId:
  4431. in: query
  4432. name: client_id
  4433. schema:
  4434. type: string
  4435. required: true
  4436. IndieAuthRedirectURI:
  4437. in: query
  4438. name: redirect_uri
  4439. schema:
  4440. type: string
  4441. required: true
  4442. IndieAuthCodeChallenge:
  4443. in: query
  4444. name: code_challenge
  4445. schema:
  4446. type: string
  4447. required: true
  4448. IndieAuthState:
  4449. in: query
  4450. name: state
  4451. schema:
  4452. type: string
  4453. required: true
  4454. IndieAuthCode:
  4455. in: query
  4456. name: code
  4457. schema:
  4458. type: string
  4459. required: true
  4460. IndieAuthMe:
  4461. in: query
  4462. name: me
  4463. schema:
  4464. type: string
  4465. required: true
  4466. securitySchemes:
  4467. BasicAuth:
  4468. type: http
  4469. scheme: basic
  4470. BearerAuth:
  4471. type: http
  4472. scheme: bearer
  4473. tags:
  4474. - name: External
  4475. description: |-
  4476. These APIs are specifically exposed for building third party applications or tooling. They use auth tokens to authenticate and are designed to be stable and reliable.
  4477. - name: Internal
  4478. description: |-
  4479. These APIs are used internally for the operation of the application. They should not be used by third party clients or tooling, as they may require sharing your admin password, and additionally may change at any time.
  4480. - name: Auth
  4481. description: Authentication API
  4482. - name: Chat
  4483. description: APIs related to operating the chat system.
  4484. - name: Objects
  4485. description: Object definitions
  4486. - name: Video
  4487. description: Video API
  4488. - name: Notifications
  4489. description: Notification API
  4490. - name: Social
  4491. description: Social API