From 1ca7a877e4c3d349b9b313834a1aadbabfad90b6 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Fri, 3 May 2024 15:39:59 -0700 Subject: [PATCH] Organize new openapi spec with tags and generate API docs with the new spec --- .../workflows/generate-api-documentation.yaml | 28 +- spec/openapi.yaml | 1569 ++++++++++------- 2 files changed, 948 insertions(+), 649 deletions(-) diff --git a/.github/workflows/generate-api-documentation.yaml b/.github/workflows/generate-api-documentation.yaml index c96ed50bd..8506b53b7 100644 --- a/.github/workflows/generate-api-documentation.yaml +++ b/.github/workflows/generate-api-documentation.yaml @@ -9,19 +9,19 @@ jobs: name: Generate API Documentation runs-on: ubuntu-latest steps: - - name: Checkout repo - uses: actions/checkout@v4 + - name: Checkout repo + uses: actions/checkout@v4 - - name: Run redoc on openapi.yaml - run: | - npx redoc-cli bundle openapi.yaml -o docs/api/index.html --options '{"hideHostname": true, "pathInMiddlePanel": true}' + - name: Run redoc on openapi.yaml + run: | + npx redoc-cli bundle spec/openapi.yaml -o docs/api/index.html --options '{"hideHostname": true, "pathInMiddlePanel": true}' - - name: Commit changes - uses: EndBug/add-and-commit@v9 - with: - author_name: Owncast - author_email: owncast@owncast.online - message: "Commit updated API documentation" - add: "docs/api/index.html" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Commit changes + uses: EndBug/add-and-commit@v9 + with: + author_name: Owncast + author_email: owncast@owncast.online + message: 'Commit updated API documentation' + add: 'docs/api/index.html' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/spec/openapi.yaml b/spec/openapi.yaml index 74acefef0..2293ee037 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.1.0 info: - version: 0.1.2 + version: 0.2.0 title: Owncast APIs description: |- Internal @@ -25,47 +25,51 @@ paths: get: summary: Get the status of the server operationId: GetStatus + tags: ['Internal'] responses: '200': description: Successful response content: application/json: schema: - $ref: "#/components/schemas/Status" + $ref: '#/components/schemas/Status' /emoji: get: summary: Get list of custom emojis supported in the chat operationId: GetCustomEmojiList + tags: ['Internal', 'Chat'] responses: '200': description: List of valid emojis content: application/json: schema: - $ref: "#/components/schemas/Emojis" + $ref: '#/components/schemas/Emojis' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' /chat: get: summary: Gets a list of chat messages operationId: GetChatMessages + tags: ['Internal', 'Chat'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' responses: '200': description: List of chat messages content: application/json: schema: - $ref: "#/components/schemas/ChatMessages" + $ref: '#/components/schemas/ChatMessages' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '501': - $ref: "#/components/responses/501" + $ref: '#/components/responses/501' /chat/register: post: summary: Registers an anonymous chat user operationId: RegisterAnonymousChatUser + tags: ['Internal', 'Chat'] parameters: - in: header name: X-Forwarded-User @@ -88,44 +92,47 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/AnonymousUser" + $ref: '#/components/schemas/AnonymousUser' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' options: operationId: RegisterAnonymousChatUserOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204Options" + $ref: '#/components/responses/204Options' /chat/messagevisibility: post: summary: Update chat message visibility operationId: UpdateMessageVisibility + tags: ['Internal', 'Chat'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' requestBody: content: application/json: schema: - $ref: "#/components/schemas/MessageVisibilityUpdate" + $ref: '#/components/schemas/MessageVisibilityUpdate' responses: '200': description: Message visibility updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' /chat/users/setenabled: post: summary: Enable/disable a user operationId: UpdateUserEnabled + tags: ['Internal', 'Chat'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' requestBody: content: application/json: @@ -142,43 +149,46 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' /config: get: summary: Get the web config operationId: GetWebConfig + tags: ['Internal'] responses: '200': description: The current web config content: application/json: schema: - $ref: "#/components/schemas/WebConfig" + $ref: '#/components/schemas/WebConfig' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' /yp: get: summary: Get the YP protocol data operationId: GetYPResponse + tags: ['Internal'] responses: '200': description: The current YP protocol configuration content: application/json: schema: - $ref: "#/components/schemas/YPDetails" + $ref: '#/components/schemas/YPDetails' '404': - $ref: "#/components/responses/404" + $ref: '#/components/responses/404' /socialplatforms: get: summary: Get all social platforms operationId: GetAllSocialPlatforms + tags: ['Internal'] responses: '200': description: The list of social platforms @@ -189,11 +199,12 @@ paths: additionalProperties: $ref: '#/components/schemas/SocialHandle' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' /video/variants: get: summary: Get a list of video variants available operationId: GetVideoStreamOutputVariants + tags: ['Internal', 'Video'] responses: '200': description: List of available video variants @@ -202,11 +213,12 @@ paths: schema: type: array items: - $ref: "#/components/schemas/VideoVariant" + $ref: '#/components/schemas/VideoVariant' /ping: get: summary: Tell the backend you're an active viewer operationId: Ping + tags: ['Internal', 'Video'] responses: '200': description: Added as an active viewer @@ -214,6 +226,7 @@ paths: post: summary: Request remote follow operationId: RemoteFollow + tags: ['Internal', 'Social'] requestBody: content: application/json: @@ -233,44 +246,47 @@ paths: redirectUrl: type: string '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' /followers: get: summary: Gets the list of followers operationId: GetFollowers + tags: ['Internal', 'Social'] parameters: - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Limit" + - $ref: '#/components/parameters/Offset' + - $ref: '#/components/parameters/Limit' responses: '200': description: Paginated follower count content: application/json: schema: - $ref: "#/components/schemas/PaginatedFollowers" + $ref: '#/components/schemas/PaginatedFollowers' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' /metrics/playback: post: summary: Save video playback metrics for future video health recording operationId: ReportPlaybackMetrics + tags: ['Internal'] requestBody: description: Video metrics to record content: application/json: schema: - $ref: "#/components/schemas/PlaybackMetrics" + $ref: '#/components/schemas/PlaybackMetrics' responses: '200': description: Metrics successfully recorded '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' /notifications/register: post: summary: Register for notifications operationId: RegisterForLiveNotifications + tags: ['Internal'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' requestBody: description: Information for notification content: @@ -288,13 +304,14 @@ paths: '200': description: Successfully added notification channel '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' /admin/status: get: summary: Get current inboard broadcaster operationId: StatusAdmin + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -303,22 +320,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/AdminStatus" + $ref: '#/components/schemas/AdminStatus' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: StatusAdminOptions + tags: ['Objects'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/disconnect: get: summary: Disconnect inbound stream operationId: DisconnectInboundConnection + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] responses: @@ -327,22 +346,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: DisconnectInboundConnectionOptions + tags: ['Objects', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/serverconfig: get: summary: Get the current server config operationId: GetServerConfig + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -351,22 +372,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/AdminServerConfig" + $ref: '#/components/schemas/AdminServerConfig' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetServerConfigOptions + tags: ['Objects'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/viewersOverTime: get: summary: Get viewer count over time operationId: GetViewersOverTime + tags: ['Internal', 'Admin'] security: - BasicAuth: [] parameters: @@ -383,22 +406,24 @@ paths: schema: type: array items: - $ref: "#/components/schemas/TimestampedValue" + $ref: '#/components/schemas/TimestampedValue' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetViewersOverTimeOptions + tags: ['Objects'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/viewers: get: summary: Get active viewers operationId: GetActiveViewers + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -409,22 +434,24 @@ paths: schema: type: array items: - $ref: "#/components/schemas/Viewer" + $ref: '#/components/schemas/Viewer' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetActiveViewersOptions + tags: ['Objects', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/hardwarestats: get: summary: Get the current hardware stats operationId: GetHardwareStats + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -434,23 +461,25 @@ paths: application/json: schema: allOf: - - $ref: "#/components/schemas/StreamHealthOverview" - - $ref: "#/components/schemas/CollectedMetrics" + - $ref: '#/components/schemas/StreamHealthOverview' + - $ref: '#/components/schemas/CollectedMetrics' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetHardwareStatsOptions + tags: ['Objects'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/clients: get: summary: Get a detailed list of currently connected chat clients operationId: GetConnectedChatClients + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] responses: @@ -459,22 +488,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ChatClients" + $ref: '#/components/schemas/ChatClients' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetConnectedChatClientsOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/messages: get: summary: Get all chat messages for the admin, unfiltered operationId: GetChatMessagesAdmin + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] responses: @@ -483,51 +514,55 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ChatMessages" + $ref: '#/components/schemas/ChatMessages' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetChatMessagesAdminOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/messagevisibility: post: summary: Update visibility of chat messages operationId: UpdateMessageVisibilityAdmin + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: content: application/json: schema: - $ref: "#/components/schemas/MessageVisibilityUpdate" + $ref: '#/components/schemas/MessageVisibilityUpdate' responses: '200': description: Messages updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: UpdateMessageVisibilityAdminOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/setenabled: post: summary: Enable or disable a user operationId: UpdateUserEnabledAdmin + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -546,22 +581,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: UpdateUserEnabledAdminOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/disabled: get: summary: Get a list of disabled users operationId: GetDisabledUsers + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] responses: @@ -570,77 +607,83 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Users" + $ref: '#/components/schemas/Users' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetDisabledUsersOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/ipbans/create: post: summary: Ban an IP address operationId: BanIPAddress + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: IP was successfully banned content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: BanIPAddressOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/ipbans/remove: post: summary: Remove an IP ban operationId: UnbanIPAddress + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: content: application/json: schema: - $ref: "#/components/schemas/AdminConfigValue" + $ref: '#/components/schemas/AdminConfigValue' responses: '200': description: IP ban was successfully removed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: UnbanIPAddressOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/ipbans: get: summary: Get all banned IP addresses operationId: GetIPAddressBans + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] responses: @@ -651,22 +694,24 @@ paths: schema: type: array items: - $ref: "#/components/schemas/IPAddress" + $ref: '#/components/schemas/IPAddress' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetIPAddressBansOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/setmoderator: post: summary: Set moderator status for a user operationId: UpdateUserModerator + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -685,22 +730,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: UpdateUserModeratorOptions + tags: ['Objects', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/chat/users/moderators: get: summary: Get a list of moderator users operationId: GetModerators + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] responses: @@ -709,22 +756,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Users" + $ref: '#/components/schemas/Users' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetModeratorsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/logs: get: summary: Get all logs operationId: GetLogs + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -732,32 +781,34 @@ paths: description: List of logs headers: 'Access-Control-Allow-Origin': - $ref: "#/components/headers/Access-Control-Allow-Origin" + $ref: '#/components/headers/Access-Control-Allow-Origin' 'Access-Control-Allow-Credentials': - $ref: "#/components/headers/Access-Control-Allow-Credentials" + $ref: '#/components/headers/Access-Control-Allow-Credentials' 'Access-Control-Allow-Headers': - $ref: "#/components/headers/Access-Control-Allow-Headers" + $ref: '#/components/headers/Access-Control-Allow-Headers' content: application/json: schema: type: array items: - $ref: "#/components/schemas/AdminLog" + $ref: '#/components/schemas/AdminLog' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetLogsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/logs/warnings: get: summary: Get warning/error logs operationId: GetWarnings + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -765,59 +816,63 @@ paths: description: List of warnings and errors headers: 'Access-Control-Allow-Origin': - $ref: "#/components/headers/Access-Control-Allow-Origin" + $ref: '#/components/headers/Access-Control-Allow-Origin' 'Access-Control-Allow-Credentials': - $ref: "#/components/headers/Access-Control-Allow-Credentials" + $ref: '#/components/headers/Access-Control-Allow-Credentials' 'Access-Control-Allow-Headers': - $ref: "#/components/headers/Access-Control-Allow-Headers" + $ref: '#/components/headers/Access-Control-Allow-Headers' content: application/json: schema: type: array items: - $ref: "#/components/schemas/AdminLog" + $ref: '#/components/schemas/AdminLog' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetWarningsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/followers: get: summary: Get followers operationId: GetFollowersAdmin + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] parameters: - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Limit" + - $ref: '#/components/parameters/Offset' + - $ref: '#/components/parameters/Limit' responses: '200': description: Paginated follower count content: application/json: schema: - $ref: "#/components/schemas/PaginatedFollowers" + $ref: '#/components/schemas/PaginatedFollowers' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetFollowersAdminOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/followers/pending: get: summary: Get a list of pending follow requests operationId: GetPendingFollowRequests + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] responses: @@ -826,22 +881,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Followers" + $ref: '#/components/schemas/Followers' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetPendingFollowRequestsOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/followers/blocked: get: summary: Get a list of rejected or blocked follows operationId: GetBlockedAndRejectedFollowers + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] responses: @@ -850,22 +907,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/Followers" + $ref: '#/components/schemas/Followers' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetBlockedAndRejectedFollowersOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/followers/approve: post: summary: Set the following state of a follower or follow request operationId: ApproveFollower + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: @@ -884,22 +943,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ApproveFollowerOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/emoji/upload: post: summary: Upload custom emoji operationId: UploadCustomEmoji + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -919,22 +980,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: UploadCustomEmojiOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/emoji/delete: post: summary: Delete custom emoji operationId: DeleteCustomEmoji + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -951,48 +1014,52 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: DeleteCustomEmojiOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/adminpass: post: summary: Change the current admin password operationId: SetAdminPassword + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Admin password has been updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetAdminPasswordOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/streamkeys: post: summary: Set an array of valid stream keys operationId: SetStreamKeys + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -1004,263 +1071,283 @@ paths: value: type: array items: - $ref: "#/components/schemas/StreamKey" + $ref: '#/components/schemas/StreamKey' responses: '200': description: Stream keys have been updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetStreamKeysOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/pagecontent: post: summary: Change the extra page content in memory operationId: SetExtraPageContent + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Page content has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetExtraPageContentOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/streamtitle: post: summary: Change the stream title operationId: SetStreamTitle + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Stream title has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetStreamTitleOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/name: post: summary: Change the server name operationId: SetServerName + tags: ['Objects', 'Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Server name has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetServerNameOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/serversummary: post: summary: Change the server summary operationId: SetServerSummary + tags: ['Objects', 'Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Server summary has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetServerSummaryOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/offlinemessage: post: summary: Change the offline message operationId: SetCustomOfflineMessage + tags: ['Objects', 'Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Offline message has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetCustomOfflineMessageOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/welcomemessage: post: summary: Change the welcome message operationId: SetServerWelcomeMessage + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Welcome message has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetServerWelcomeMessageOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/disable: post: summary: Disable chat operationId: SetChatDisabled + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Chat has been disabled content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetChatDisabledOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/joinmessagesenabled: post: summary: Enable chat for user join messages operationId: SetChatJoinMessagesEnabled + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: User join messages has been enabled content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetChatJoinMessagesEnabledOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/establishedusermode: post: summary: Enable/disable chat established user mode operationId: SetEnableEstablishedChatUserMode + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Chat established user mode updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetEnableEstablishedChatUserModeOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/forbiddenusernames: post: summary: Set chat usernames that are not allowed operationId: SetForbiddenUsernameList + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -1279,22 +1366,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetForbiddenUsernameListOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/suggestedusernames: post: summary: Set the suggested chat usernames that will be assigned automatically operationId: SetSuggestedUsernameList + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: @@ -1313,126 +1402,136 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetSuggestedUsernameListOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/spamprotectionenabled: post: summary: Set spam protection enabled operationId: SetChatSpamProtectionEnabled + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Spam protection enabled updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetChatSpamProtectionEnabledOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/chat/slurfilterenabled: post: summary: Set slur filter enabled operationId: SetChatSlurFilterEnabled + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Slur filter enabled updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetChatSlurFilterEnabledOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/video/codec: post: summary: Set video codec operationId: SetVideoCodec + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Video codec updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetVideoCodecOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/video/streamlatencylevel: post: summary: Set the number of video segments and duration per segment in a playlist operationId: SetStreamLatencyLevel + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Stream latency updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetStreamLatencyLevelOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/video/streamoutputvariants: post: summary: Set an array of video output configurations operationId: SetStreamOutputVariants + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: @@ -1451,22 +1550,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetStreamOutputVariantsOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/appearance: post: summary: Set style/color/css values operationId: SetCustomColorVariableValues + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -1485,282 +1586,304 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetCustomColorVariableValuesOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/logo: post: summary: Update logo operationId: SetLogo + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Logo updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetLogoOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/tags: post: summary: Update server tags operationId: SetTags + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Tags updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetTagsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/ffmpegpath: post: summary: Update FFMPEG path operationId: SetFfmpegPath + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Path updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFfmpegPathOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/webserverport: post: summary: Update server port operationId: SetWebServerPort + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Port updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetWebServerPortOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/webserverip: post: summary: Update server IP address operationId: SetWebServerIP + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: IP Address updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetWebServerIPOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/rtmpserverport: post: summary: Update RTMP post operationId: SetRTMPServerPort + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: RTMP port updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetRTMPServerPortOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/sockethostoverride: post: summary: Update websocket host override operationId: SetSocketHostOverride + tags: ['Internal', 'Admin', 'Chat'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Websocket host override updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetSocketHostOverrideOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/videoservingendpoint: post: summary: Update custom video serving endpoint operationId: SetVideoServingEndpoint + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Video Serving Endpoint updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetVideoServingEndpointOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/nsfw: post: summary: Update NSFW marking operationId: SetNSFW + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: NSFW status updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetNSFWOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/directoryenabled: post: summary: Update directory enabled operationId: SetDirectoryEnabled + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Directory Enabled updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetDirectoryEnabledOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/socialhandles: post: summary: Update social handles operationId: SetSocialHandles + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -1772,29 +1895,31 @@ paths: value: type: array items: - $ref: "#/components/schemas/SocialHandle" + $ref: '#/components/schemas/SocialHandle' responses: '200': description: Social handles updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetSocialHandlesOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/s3: post: summary: Update S3 configuration operationId: SetS3Configuration + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] requestBody: @@ -1804,55 +1929,59 @@ paths: type: object properties: value: - $ref: "#/components/schemas/S3Info" + $ref: '#/components/schemas/S3Info' responses: '200': description: Directory Enabled updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetS3ConfigurationOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/serverurl: post: summary: Update server url operationId: SetServerURL + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Server URL updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetServerURLOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/externalactions: post: summary: Update external action links operationId: SetExternalActions + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -1864,289 +1993,311 @@ paths: value: type: array items: - $ref: "#/components/schemas/ExternalAction" + $ref: '#/components/schemas/ExternalAction' responses: '200': description: External Action Links updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetExternalActionsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/customstyles: post: summary: Update custom styles operationId: SetCustomStyles + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Custom styles updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetCustomStylesOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/customjavascript: post: summary: Update custom JavaScript operationId: SetCustomJavascript + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Custom JavaScript updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetCustomJavascriptOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/hideviewercount: post: summary: Update hide viewer count operationId: SetHideViewerCount + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Hide viewer count updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetHideViewerCountOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/disablesearchindexing: post: summary: Update search indexing operationId: SetDisableSearchIndexing + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Search Indexing updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetDisableSearchIndexingOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/enable: post: summary: Enable/disable federation features operationId: SetFederationEnabled + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Federation features enabled/disabled content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationEnabledOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/private: post: summary: Set if federation activities are private operationId: SetFederationActivityPrivate + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Private status set content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationActivityPrivateOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/showengagement: post: summary: Set if fediverse engagement appears in chat operationId: SetFederationShowEngagement + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Federation engagement set content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationShowEngagementOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/username: post: summary: Set local federated username operationId: SetFederationUsername + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Federation username set content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationUsernameOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/livemessage: post: summary: Set federated go live message operationId: SetFederationGoLiveMessage + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Federation username set content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationGoLiveMessageOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/federation/blockdomains: post: summary: Set Federation blocked domains operationId: SetFederationBlockDomains + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Federation blocked domains set content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetFederationBlockDomainsOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/notifications/discord: post: summary: Configure Discord notifications operationId: SetDiscordNotificationConfiguration + tags: ['Internal', 'Admin', 'Notifications'] security: - BasicAuth: [] requestBody: @@ -2156,29 +2307,31 @@ paths: type: object properties: value: - $ref: "#/components/schemas/DiscordNotificationConfiguration" + $ref: '#/components/schemas/DiscordNotificationConfiguration' responses: '200': description: Discord notification configuration updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetDiscordNotificationConfigurationOptions + tags: ['Objects', 'Internal', 'Admin', 'Notifications'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/config/notifications/browser: post: summary: Configure Browser notifications operationId: SetBrowserNotificationConfiguration + tags: ['Internal', 'Admin', 'Notifications'] security: - BasicAuth: [] requestBody: @@ -2188,29 +2341,31 @@ paths: type: object properties: value: - $ref: "#/components/schemas/BrowserNotificationConfiguration" + $ref: '#/components/schemas/BrowserNotificationConfiguration' responses: '200': description: Browser notification configuration updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SetBrowserNotificationConfigurationOptions + tags: ['Objects', 'Internal', 'Admin', 'Notifications'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/webhooks: get: summary: Get all the webhooks operationId: GetWebhooks + tags: ['Internal', 'Admin', 'Notifications'] security: - BasicAuth: [] responses: @@ -2221,22 +2376,24 @@ paths: schema: type: array items: - $ref: "#/components/schemas/Webhook" + $ref: '#/components/schemas/Webhook' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetWebhooksOptions + tags: ['Objects', 'Internal', 'Admin', 'Notifications'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/webhooks/delete: post: summary: Delete a single webhook operationId: DeleteWebhook + tags: ['Internal', 'Admin', 'Notifications'] security: - BasicAuth: [] requestBody: @@ -2253,22 +2410,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: DeleteWebhookOptions + tags: ['Objects', 'Internal', 'Admin', 'Notifications'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/webhooks/create: post: summary: Create a single webhook operationId: CreateWebhook + tags: ['Internal', 'Admin', 'Notifications'] security: - BasicAuth: [] requestBody: @@ -2282,29 +2441,31 @@ paths: events: type: array items: - $ref: "#/components/schemas/WebhookEventType" + $ref: '#/components/schemas/WebhookEventType' responses: '200': description: The new webhook content: application/json: schema: - $ref: "#/components/schemas/Webhook" + $ref: '#/components/schemas/Webhook' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: CreateWebhookOptions + tags: ['Objects', 'Internal', 'Admin', 'Notifications'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/accesstokens: get: summary: Get all access tokens operationId: GetExternalAPIUsers + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -2315,22 +2476,24 @@ paths: schema: type: array items: - $ref: "#/components/schemas/ExternalAPIUser" + $ref: '#/components/schemas/ExternalAPIUser' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetExternalAPIUsersOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/accesstokens/delete: post: summary: Delete a single external API user operationId: DeleteExternalAPIUser + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -2347,22 +2510,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: DeleteExternalAPIUserOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/accesstokens/create: post: summary: Create a single access token operationId: CreateExternalAPIUser + tags: ['Internal', 'Admin'] security: - BasicAuth: [] requestBody: @@ -2383,22 +2548,25 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ExternalAPIUser" + $ref: '#/components/schemas/ExternalAPIUser' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: CreateExternalAPIUserOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/update/options: get: summary: Return the auto-update features that are supported for this instance operationId: AutoUpdateOptions + tags: ['Internal', 'Admin'] + x-internal: true security: - BasicAuth: [] responses: @@ -2414,20 +2582,23 @@ paths: canRestart: type: boolean '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: AutoUpdateOptionsOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/update/start: get: summary: Begin the auto-update operationId: AutoUpdateStart + tags: ['Internal', 'Admin'] + x-internal: true security: - BasicAuth: [] responses: @@ -2438,20 +2609,24 @@ paths: schema: type: string '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: AutoUpdateStartOptions + tags: ['Objects', 'Internal', 'Admin'] + x-internal: true responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/update/forcequit: get: summary: Force quit the server and restart it operationId: AutoUpdateForceQuit + x-internal: true + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -2460,22 +2635,25 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: AutoUpdateForceQuitOptions + tags: ['Objects', 'Internal', 'Admin'] + x-internal: true responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/yp/reset: get: summary: Reset YP configuration operationId: ResetYPRegistration + tags: ['Internal', 'Admin'] security: - BasicAuth: [] responses: @@ -2484,22 +2662,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ResetYPRegistrationOptions + tags: ['Objects', 'Internal', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/metrics/video: get: summary: Get video playback metrics operationId: GetVideoPlaybackMetrics + tags: ['Internal', 'Admin', 'Video'] security: - BasicAuth: [] responses: @@ -2563,16 +2743,17 @@ paths: representation: type: integer '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetVideoPlaybackMetricsOptions + tags: ['Objects', 'Internal', 'Admin', 'Video'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/prometheus: get: summary: Endpoint to interface with Prometheus @@ -2581,6 +2762,7 @@ paths: Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/) operationId: GetPrometheusAPI + tags: ['Internal', 'Admin'] post: summary: Endpoint to interface with Prometheus description: |- @@ -2588,6 +2770,7 @@ paths: Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/) operationId: PostPrometheusAPI + tags: ['Internal', 'Admin'] put: summary: Endpoint to interface with Prometheus description: |- @@ -2595,6 +2778,7 @@ paths: Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/) operationId: PutPrometheusAPI + tags: ['Internal', 'Admin'] delete: summary: Endpoint to interface with Prometheus description: |- @@ -2602,6 +2786,7 @@ paths: Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/) operationId: DeletePrometheusAPI + tags: ['Internal', 'Admin'] options: summary: Endpoint to interface with Prometheus description: |- @@ -2609,63 +2794,69 @@ paths: Learn more about it on the [Prometheus API docs](https://prometheus.io/docs/prometheus/latest/querying/api/) operationId: OptionsPrometheusAPI + tags: ['Internal', 'Admin'] /admin/federation/send: post: summary: Send a public message to the Fediverse from the server's user operationId: SendFederatedMessage + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Message sent content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SendFederatedMessageOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /admin/federation/actions: get: summary: Get a paginated list of federated activities operationId: GetFederatedActions + tags: ['Internal', 'Admin', 'Social'] security: - BasicAuth: [] parameters: - - $ref: "#/components/parameters/Offset" - - $ref: "#/components/parameters/Limit" + - $ref: '#/components/parameters/Offset' + - $ref: '#/components/parameters/Limit' responses: '200': description: A paginated list of federated activities content: application/json: schema: - $ref: "#/components/schemas/PaginatedFederatedActivity" + $ref: '#/components/schemas/PaginatedFederatedActivity' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: GetFederatedActionsOptions + tags: ['Objects', 'Internal', 'Admin', 'Social'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/system: post: summary: Send a system message to the chat operationId: SendSystemMessage + tags: ['External', 'Chat'] security: - BearerAuth: [] requestBody: @@ -2673,34 +2864,36 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SystemMessage" + $ref: '#/components/schemas/SystemMessage' responses: '200': description: Message sent successfully headers: 'Access-Control-Allow-Origin': - $ref: "#/components/headers/Access-Control-Allow-Origin" + $ref: '#/components/headers/Access-Control-Allow-Origin' content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SendSystemMessageOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/system/client/{clientId}: post: summary: Send a system message to a single client operationId: SendSystemMessageToConnectedClient + tags: ['External', 'Chat'] security: - BearerAuth: [] parameters: @@ -2714,18 +2907,19 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/SystemMessage" + $ref: '#/components/schemas/SystemMessage' responses: '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SendSystemMessageToConnectedClientOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] parameters: - in: path name: clientId @@ -2735,144 +2929,155 @@ paths: description: The ID of the specified client responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/user: post: deprecated: true summary: Send a user message to chat operationId: SendUserMessage + tags: ['External', 'Chat'] security: - BearerAuth: [] responses: '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' options: deprecated: true operationId: SendUserMessageOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/send: post: summary: Send a message to chat as a specific 3rd party bot/integration based on its access token operationId: SendIntegrationChatMessage + tags: ['External', 'Chat'] security: - BearerAuth: [] requestBody: content: application/json: schema: - $ref: "#/components/schemas/UserMessage" + $ref: '#/components/schemas/UserMessage' responses: '200': description: Message sent successfully content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SendIntegrationChatMessageOptions + tags: ['Objects', 'External', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/action: post: summary: Send a user action to chat operationId: SendChatAction + tags: ['External', 'Chat'] security: - BearerAuth: [] requestBody: content: application/json: schema: - $ref: "#/components/schemas/SystemActionEvent" + $ref: '#/components/schemas/SystemActionEvent' responses: '200': description: Action sent successfully content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: SendChatActionOptions + tags: ['Objects', 'Internal', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat/messagevisibility: post: summary: Hide chat message operationId: ExternalUpdateMessageVisibility + tags: ['External', 'Chat'] security: - BearerAuth: [] requestBody: content: application/json: schema: - $ref: "#/components/schemas/MessageVisibilityUpdate" + $ref: '#/components/schemas/MessageVisibilityUpdate' responses: '200': description: Messages updated content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ExternalUpdateMessageVisibilityOptions + tags: ['Objects', 'External', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/streamtitle: post: summary: Stream title operationId: ExternalSetStreamTitle + tags: ['External'] security: - BearerAuth: [] requestBody: - $ref: "#/components/requestBodies/AdminConfigValue" + $ref: '#/components/requestBodies/AdminConfigValue' responses: '200': description: Stream title has been changed content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ExternalSetStreamTitleOptions + tags: ['Objects', 'External', 'Admin'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/chat: get: summary: Get chat history operationId: ExternalGetChatMessages + tags: ['External', 'Chat'] security: - BearerAuth: [] responses: @@ -2881,22 +3086,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ChatMessages" + $ref: '#/components/schemas/ChatMessages' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '501': - $ref: "#/components/responses/501" + $ref: '#/components/responses/501' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ExternalGetChatMessagesOptions + tags: ['Objects', 'External', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /integrations/clients: get: summary: Connected clients operationId: ExternalGetConnectedChatClients + tags: ['External', 'Chat'] security: - BearerAuth: [] responses: @@ -2905,22 +3112,24 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/ChatClients" + $ref: '#/components/schemas/ChatClients' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401BasicAuth" + $ref: '#/components/responses/401BasicAuth' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' options: operationId: ExternalGetConnectedChatClientsOptions + tags: ['Objects', 'External', 'Admin', 'Chat'] responses: '204': - $ref: "#/components/responses/204" + $ref: '#/components/responses/204' /moderation/chat/user/{userId}: get: summary: Get a user's details operationId: GetUserDetails + tags: ['External', 'Chat'] parameters: - in: path name: userId @@ -2928,26 +3137,27 @@ paths: type: string description: The ID of the user to find required: true - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' responses: '200': description: User information content: application/json: schema: - $ref: "#/components/schemas/ModerationUserDetails" + $ref: '#/components/schemas/ModerationUserDetails' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' '404': - $ref: "#/components/responses/404" + $ref: '#/components/responses/404' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' /auth/indieauth: post: summary: Begins auth flow operationId: StartIndieAuthFlow + tags: ['Internal', 'Auth', 'Chat'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' requestBody: content: application/json: @@ -2968,53 +3178,56 @@ paths: type: string format: url '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' default: - $ref: "#/components/responses/Default" + $ref: '#/components/responses/Default' /auth/indieauth/callback: get: summary: Handle the redirect from an IndieAuth server to continue the auth flow operationId: HandleIndieAuthRedirect + tags: ['Internal', 'Auth', 'Chat'] parameters: - - $ref: "#/components/parameters/IndieAuthState" - - $ref: "#/components/parameters/IndieAuthCode" + - $ref: '#/components/parameters/IndieAuthState' + - $ref: '#/components/parameters/IndieAuthCode' responses: '307': description: Redirected to home page '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' /auth/provider/indieauth: get: summary: Handles the IndieAuth auth endpoint operationId: HandleIndieAuthEndpointGet + tags: ['Internal', 'Auth', 'Chat'] security: - BasicAuth: [] parameters: - - $ref: "#/components/parameters/IndieAuthClientId" - - $ref: "#/components/parameters/IndieAuthRedirectURI" - - $ref: "#/components/parameters/IndieAuthCodeChallenge" - - $ref: "#/components/parameters/IndieAuthState" - - $ref: "#/components/parameters/IndieAuthCode" + - $ref: '#/components/parameters/IndieAuthClientId' + - $ref: '#/components/parameters/IndieAuthRedirectURI' + - $ref: '#/components/parameters/IndieAuthCodeChallenge' + - $ref: '#/components/parameters/IndieAuthState' + - $ref: '#/components/parameters/IndieAuthCode' responses: '200': description: IndieAuth flow concluded content: application/json: schema: - $ref: "#/components/schemas/IndieAuthResponse" + $ref: '#/components/schemas/IndieAuthResponse' '307': description: Redirected to redirect URI '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '500': - $ref: "#/components/responses/500" + $ref: '#/components/responses/500' post: summary: Handles IndieAuth from form submission operationId: HandleIndieAuthEndpointPost + tags: ['Internal', 'Auth', 'Chat'] requestBody: - $ref: "#/components/requestBodies/IndieAuthEndpointForm" + $ref: '#/components/requestBodies/IndieAuthEndpointForm' responses: '200': description: IndieAuth flow concluded @@ -3022,16 +3235,17 @@ paths: application/json: schema: oneOf: - - $ref: "#/components/schemas/IndieAuthResponse" - - $ref: "#/components/schemas/IndieAuthServerProfileResponse" + - $ref: '#/components/schemas/IndieAuthResponse' + - $ref: '#/components/schemas/IndieAuthServerProfileResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' /auth/fediverse: post: summary: Register a Fediverse OTP request operationId: RegisterFediverseOTPRequest + tags: ['Internal', 'Auth', 'Chat'] parameters: - - $ref: "#/components/parameters/AccessToken" + - $ref: '#/components/parameters/AccessToken' requestBody: content: application/json: @@ -3046,15 +3260,16 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '401': - $ref: "#/components/responses/401" + $ref: '#/components/responses/401' /auth/fediverse/verify: post: summary: Verify Fediverse OTP code operationId: VerifyFediverseOTPRequest + tags: ['Internal', 'Auth', 'Chat'] requestBody: content: application/json: @@ -3069,23 +3284,25 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '400': - $ref: "#/components/responses/400" + $ref: '#/components/responses/400' '403': - $ref: "#/components/responses/403" + $ref: '#/components/responses/403' components: schemas: Error: type: object description: Structure for an error response + tags: ['Objects'] properties: error: type: string BaseAPIResponse: type: object description: Simple API response + tags: ['Objects'] properties: message: type: string @@ -3094,6 +3311,7 @@ components: Status: type: object description: Response for status + tags: ['Objects'] properties: serverTime: type: string @@ -3110,10 +3328,11 @@ components: Emojis: type: array items: - $ref: "#/components/schemas/Emoji" + $ref: '#/components/schemas/Emoji' Emoji: type: object description: Name and url for an emoji + tags: ['Objects'] properties: name: type: string @@ -3123,6 +3342,7 @@ components: description: URL for the emoji image AnonymousUser: type: object + tags: ['Objects'] properties: id: type: string @@ -3132,6 +3352,7 @@ components: type: string User: type: object + tags: ['Objects'] properties: createdAt: type: string @@ -3160,9 +3381,10 @@ components: Users: type: array items: - $ref: "#/components/schemas/User" + $ref: '#/components/schemas/User' Follower: type: object + tags: ['Objects'] properties: link: type: string @@ -3184,17 +3406,20 @@ components: description: When this follower was rejected or disabled. Followers: type: array + tags: ['Objects'] items: - $ref: "#/components/schemas/Follower" + $ref: '#/components/schemas/Follower' PaginatedFollowers: type: object + tags: ['Objects'] properties: total: type: integer results: - $ref: "#/components/schemas/Followers" + $ref: '#/components/schemas/Followers' Event: type: object + tags: ['Objects'] properties: timestamp: type: string @@ -3204,52 +3429,60 @@ components: type: string UserEvent: type: object + tags: ['Objects'] properties: user: - $ref: "#/components/schemas/User" + $ref: '#/components/schemas/User' hiddenAt: type: string clientId: type: integer MessageEvent: type: object + tags: ['Objects'] properties: body: type: string ChatMessages: type: array + tags: ['Objects'] items: anyOf: - - $ref: "#/components/schemas/UserMessage" - - $ref: "#/components/schemas/SystemMessage" - - $ref: "#/components/schemas/ActionMessage" - - $ref: "#/components/schemas/FederatedAction" + - $ref: '#/components/schemas/UserMessage' + - $ref: '#/components/schemas/SystemMessage' + - $ref: '#/components/schemas/ActionMessage' + - $ref: '#/components/schemas/FederatedAction' UserMessage: type: object + tags: ['Objects'] allOf: - - $ref: "#/components/schemas/Event" - - $ref: "#/components/schemas/UserEvent" - - $ref: "#/components/schemas/MessageEvent" + - $ref: '#/components/schemas/Event' + - $ref: '#/components/schemas/UserEvent' + - $ref: '#/components/schemas/MessageEvent' SystemMessage: type: object + tags: ['Objects'] allOf: - - $ref: "#/components/schemas/Event" - - $ref: "#/components/schemas/MessageEvent" + - $ref: '#/components/schemas/Event' + - $ref: '#/components/schemas/MessageEvent' SystemActionEvent: type: object + tags: ['Objects'] allOf: - - $ref: "#/components/schemas/Event" - - $ref: "#/components/schemas/MessageEvent" + - $ref: '#/components/schemas/Event' + - $ref: '#/components/schemas/MessageEvent' ActionMessage: type: object + tags: ['Objects'] allOf: - - $ref: "#/components/schemas/Event" - - $ref: "#/components/schemas/MessageEvent" + - $ref: '#/components/schemas/Event' + - $ref: '#/components/schemas/MessageEvent' FederatedAction: type: object + tags: ['Objects'] allOf: - - $ref: "#/components/schemas/Event" - - $ref: "#/components/schemas/MessageEvent" + - $ref: '#/components/schemas/Event' + - $ref: '#/components/schemas/MessageEvent' - type: object properties: image: @@ -3260,6 +3493,7 @@ components: type: string WebConfig: type: object + tags: ['Objects'] properties: appearanceVariables: type: object @@ -3290,15 +3524,15 @@ components: socialHandles: type: array items: - $ref: "#/components/schemas/SocialHandle" + $ref: '#/components/schemas/SocialHandle' externalActions: type: array items: - $ref: "#/components/schemas/ExternalAction" + $ref: '#/components/schemas/ExternalAction' notifications: - $ref: "#/components/schemas/NotificationConfig" + $ref: '#/components/schemas/NotificationConfig' federation: - $ref: "#/components/schemas/FederationConfig" + $ref: '#/components/schemas/FederationConfig' maxSocketPayloadSize: type: integer hideViewerCount: @@ -3308,9 +3542,10 @@ components: nsfw: type: boolean authentication: - $ref: "#/components/schemas/AuthenticationConfig" + $ref: '#/components/schemas/AuthenticationConfig' SocialHandle: type: object + tags: ['Objects'] properties: platform: type: string @@ -3320,6 +3555,7 @@ components: type: string ExternalAction: type: object + tags: ['Objects'] properties: url: type: string @@ -3337,11 +3573,13 @@ components: type: boolean NotificationConfig: type: object + tags: ['Objects'] properties: browser: - $ref: "#/components/schemas/BrowserConfig" + $ref: '#/components/schemas/BrowserConfig' BrowserConfig: type: object + tags: ['Objects'] properties: publicKey: type: string @@ -3349,6 +3587,7 @@ components: type: boolean FederationConfig: type: object + tags: ['Objects'] properties: account: type: string @@ -3358,11 +3597,13 @@ components: type: boolean AuthenticationConfig: type: object + tags: ['Objects'] properties: indieAuthEnabled: type: boolean YPDetails: type: object + tags: ['Objects'] properties: lastConnectTime: type: string @@ -3394,6 +3635,7 @@ components: type: boolean VideoVariant: type: object + tags: ['Objects', 'Video'] properties: index: type: integer @@ -3401,6 +3643,7 @@ components: type: string PlaybackMetrics: type: object + tags: ['Objects', 'Video'] properties: bandwidth: type: number @@ -3419,6 +3662,7 @@ components: format: double Broadcaster: type: object + tags: ['Objects', 'Video'] properties: time: type: string @@ -3429,6 +3673,7 @@ components: $ref: '#/components/schemas/InboundStreamDetails' InboundStreamDetails: type: object + tags: ['Objects', 'Video'] properties: videoCodec: type: string @@ -3449,6 +3694,7 @@ components: format: float CurrentBroadcast: type: object + tags: ['Objects', 'Video'] properties: outputSettings: type: array @@ -3458,6 +3704,7 @@ components: $ref: '#/components/schemas/LatencyLevel' StreamOutputVariant: type: object + tags: ['Objects', 'Video'] properties: name: type: string @@ -3484,6 +3731,7 @@ components: type: integer StreamHealthOverview: type: object + tags: ['Objects', 'Video'] properties: message: type: string @@ -3495,6 +3743,7 @@ components: type: boolean BrowserNotificationConfiguration: type: object + tags: ['Objects', 'Notifications'] properties: goLiveMessage: type: string @@ -3502,6 +3751,7 @@ components: type: boolean DiscordNotificationConfiguration: type: object + tags: ['Objects', 'Notifications'] properties: webhook: type: string @@ -3511,6 +3761,7 @@ components: type: boolean S3Info: type: object + tags: ['Objects'] properties: endpoint: type: string @@ -3532,6 +3783,7 @@ components: type: boolean StreamKey: type: object + tags: ['Objects'] properties: key: type: string @@ -3539,6 +3791,7 @@ components: type: string TimestampedValue: type: object + tags: ['Objects'] properties: time: type: string @@ -3548,6 +3801,7 @@ components: format: double Viewer: type: object + tags: ['Objects', 'Video'] properties: firstSeen: type: string @@ -3562,6 +3816,7 @@ components: type: string GeoDetails: type: object + tags: ['Objects'] properties: countryCode: type: string @@ -3570,6 +3825,7 @@ components: timeZone: type: string CollectedMetrics: + tags: ['Objects'] type: object properties: disk: @@ -3586,6 +3842,7 @@ components: $ref: '#/components/schemas/TimestampedValue' ChatClient: type: object + tags: ['Objects', 'Chat'] properties: connectedAt: type: string @@ -3600,10 +3857,12 @@ components: type: integer ChatClients: type: array + tags: ['Objects', 'Chat'] items: - $ref: "#/components/schemas/ChatClient" + $ref: '#/components/schemas/ChatClient' IPAddress: type: object + tags: ['Objects', 'Chat'] properties: createdAt: type: string @@ -3614,6 +3873,7 @@ components: type: string Webhook: type: object + tags: ['Objects', 'Notifications'] properties: timestamp: type: string @@ -3631,6 +3891,7 @@ components: type: integer WebhookEventType: type: string + tags: ['Objects', 'Notifications'] enum: - CHAT - USER_JOINED @@ -3671,6 +3932,7 @@ components: type: boolean MessageVisibilityUpdate: type: object + tags: ['Objects', 'Chat'] properties: idArray: type: array @@ -3680,19 +3942,21 @@ components: type: boolean ModerationUserDetails: type: object + tags: ['Objects', 'Chat'] properties: user: - $ref: "#/components/schemas/User" + $ref: '#/components/schemas/User' connectedClients: type: array items: - $ref: "#/components/schemas/ModerationConnectedClient" + $ref: '#/components/schemas/ModerationConnectedClient' messages: type: array items: - $ref: "#/components/schemas/UserMessage" + $ref: '#/components/schemas/UserMessage' ModerationConnectedClient: type: object + tags: ['Objects', 'Chat'] properties: connectedAt: type: string @@ -3708,6 +3972,7 @@ components: type: integer FederatedActivity: type: object + tags: ['Objects', 'Social'] properties: timestamp: type: string @@ -3720,13 +3985,15 @@ components: type: string PaginatedFederatedActivity: type: object + tags: ['Objects', 'Social'] properties: total: type: integer results: - $ref: "#/components/schemas/FederatedActivity" + $ref: '#/components/schemas/FederatedActivity' AdminStatus: type: object + tags: ['Objects'] properties: broadcaster: $ref: '#/components/schemas/Broadcaster' @@ -3748,6 +4015,7 @@ components: type: boolean AdminServerConfig: type: object + tags: ['Objects'] properties: instanceDetails: $ref: '#/components/schemas/AdminWebConfig' @@ -3811,6 +4079,7 @@ components: type: boolean AdminWebConfig: type: object + tags: ['Objects'] properties: appearanceVariables: type: object @@ -3848,6 +4117,7 @@ components: type: boolean AdminNotificationsConfig: type: object + tags: ['Objects', 'Notifications'] properties: browser: $ref: '#/components/schemas/BrowserNotificationConfiguration' @@ -3855,12 +4125,14 @@ components: $ref: '#/components/schemas/DiscordNotificationConfiguration' AdminYPInfo: type: object + tags: ['Objects'] properties: instanceUrl: type: string enabled: type: boolean AdminFederationConfig: + tags: ['Objects', 'Social'] type: object properties: username: @@ -3879,6 +4151,7 @@ components: type: boolean AdminVideoSettings: type: object + tags: ['Objects', 'Video'] properties: videoQualityVariants: type: array @@ -3888,6 +4161,7 @@ components: type: integer AdminLog: type: object + tags: ['Objects'] properties: time: type: string @@ -3898,28 +4172,31 @@ components: type: string AdminConfigValue: type: object + tags: ['Objects'] properties: value: oneOf: - - type: string - - type: boolean - - type: array - items: - type: string - - type: number + - type: string + - type: boolean + - type: array + items: + type: string + - type: number IndieAuthResponse: type: object + tags: ['Objects', 'Auth'] properties: me: type: string profile: - $ref: "#/components/schemas/IndieAuthProfile" + $ref: '#/components/schemas/IndieAuthProfile' error: type: string errorDescription: type: string IndieAuthProfile: type: object + tags: ['Objects', 'Auth'] properties: name: type: string @@ -3929,17 +4206,19 @@ components: type: string IndieAuthServerProfileResponse: type: object + tags: ['Objects', 'Auth'] properties: me: type: string profile: - $ref: "#/components/schemas/IndieAuthServerProfile" + $ref: '#/components/schemas/IndieAuthServerProfile' error: type: string errorDescription: type: string IndieAuthServerProfile: type: object + tags: ['Objects', 'Auth'] properties: name: type: string @@ -3972,7 +4251,7 @@ components: content: application/json: schema: - $ref: "#/components/schemas/AdminConfigValue" + $ref: '#/components/schemas/AdminConfigValue' IndieAuthEndpointForm: description: Form submission from IndieAuth content: @@ -3995,20 +4274,20 @@ components: content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '204': description: No Content '204Options': description: No Content headers: 'Access-Control-Allow-Origin': - $ref: "#/components/headers/Access-Control-Allow-Origin" + $ref: '#/components/headers/Access-Control-Allow-Origin' '400': description: Bad request content: application/json: schema: - $ref: "#/components/schemas/BaseAPIResponse" + $ref: '#/components/schemas/BaseAPIResponse' '401': description: Unauthorized content: @@ -4019,15 +4298,15 @@ components: description: Basic auth failure headers: 'Access-Control-Allow-Origin': - $ref: "#/components/headers/Access-Control-Allow-Origin" + $ref: '#/components/headers/Access-Control-Allow-Origin' 'Access-Control-Allow-Credentials': - $ref: "#/components/headers/Access-Control-Allow-Credentials" + $ref: '#/components/headers/Access-Control-Allow-Credentials' 'Access-Control-Allow-Headers': - $ref: "#/components/headers/Access-Control-Allow-Headers" + $ref: '#/components/headers/Access-Control-Allow-Headers' 'WWW-Authenticate': - $ref: "#/components/headers/WWW-Authenticate" + $ref: '#/components/headers/WWW-Authenticate' 'X-Content-Type-Options': - $ref: "#/components/headers/X-Content-Type-Options" + $ref: '#/components/headers/X-Content-Type-Options' content: text/plain: schema: @@ -4041,13 +4320,13 @@ components: content: application/json: schema: - $ref: "#/components/schemas/Error" + $ref: '#/components/schemas/Error' '501': description: Not Implemented content: application/json: schema: - $ref: "#/components/schemas/Error" + $ref: '#/components/schemas/Error' parameters: Offset: @@ -4112,3 +4391,23 @@ components: BearerAuth: type: http scheme: bearer + +tags: + - name: External + description: |- + 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. + - name: Internal + description: |- + 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. + - name: Auth + description: Authentication API + - name: Chat + description: APIs related to operating the chat system. + - name: Objects + description: Object definitions + - name: Video + description: Video API + - name: Notifications + description: Notification API + - name: Social + description: Social API