mirror of
https://github.com/owncast/owncast.git
synced 2024-11-24 13:50:06 +03:00
eed34b528e
* fix(api): remove invalid tag properties from components * chore(api): update api validation/linter to use redocly * fix(api): add missing streamTitle property to status object. Closes #3983 * chore: add redocly config file * Commit updated API documentation --------- Co-authored-by: Owncast <owncast@owncast.online>
4444 lines
138 KiB
YAML
4444 lines
138 KiB
YAML
openapi: 3.1.0
|
|
|
|
info:
|
|
version: 0.2.0
|
|
title: Owncast APIs
|
|
description: |-
|
|
Internal
|
|
The APIs required to make the Owncast web interface and internal functionality work. These APIs will never reach stability and will always change as Owncast features and functionality change. This means these endpoints are not good options to build your own tooling and features on top of. You can, however, of course can if that risk is acceptable to you.
|
|
|
|
Admin
|
|
The APIs used to configure the Owncast server, as well as power the web admin interface. These APIs are protected by the admin password, using HTTP Basic authentication. They should not be used by external tools or integrations as it would require you to give your admin password to a third party.
|
|
contact:
|
|
name: Gabe Kangas
|
|
email: gabek@real-ity.com
|
|
url: 'http://owncast.online'
|
|
license:
|
|
url: 'https://github.com/owncast/owncast/blob/develop/LICENSE'
|
|
name: MIT
|
|
x-logo:
|
|
url: >-
|
|
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAEvmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjEyOCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjEyOCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjEyOCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTI4IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSI5Ni4wIgogICB0aWZmOllSZXNvbHV0aW9uPSI5Ni4wIgogICBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIgogICBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDIw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
|
|
servers:
|
|
- url: 'http://localhost:8080/api'
|
|
description: Localhost port 8080
|
|
|
|
paths:
|
|
/status:
|
|
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'
|
|
/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'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
/chat:
|
|
get:
|
|
summary: Gets a list of chat messages
|
|
operationId: GetChatMessages
|
|
tags: ['Internal', 'Chat']
|
|
parameters:
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
responses:
|
|
'200':
|
|
description: List of chat messages
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChatMessages'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'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
|
|
schema:
|
|
type: string
|
|
required: false
|
|
requestBody:
|
|
description: The display name of the new user
|
|
required: false
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
displayName:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Anonymous user information
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AnonymousUser'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
options:
|
|
operationId: RegisterAnonymousChatUserOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204Options'
|
|
/chat/messagevisibility:
|
|
post:
|
|
summary: Update chat message visibility
|
|
operationId: UpdateMessageVisibility
|
|
tags: ['Internal', 'Chat']
|
|
parameters:
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/MessageVisibilityUpdate'
|
|
responses:
|
|
'200':
|
|
description: Message visibility updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
/chat/users/setenabled:
|
|
post:
|
|
summary: Enable/disable a user
|
|
operationId: UpdateUserEnabled
|
|
tags: ['Internal', 'Chat']
|
|
parameters:
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
userId:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: User status has been updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
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'
|
|
'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'
|
|
'404':
|
|
$ref: '#/components/responses/404'
|
|
/socialplatforms:
|
|
get:
|
|
summary: Get all social platforms
|
|
operationId: GetAllSocialPlatforms
|
|
tags: ['Internal']
|
|
responses:
|
|
'200':
|
|
description: The list of social platforms
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/components/schemas/SocialHandle'
|
|
'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
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$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
|
|
/remotefollow:
|
|
post:
|
|
summary: Request remote follow
|
|
operationId: RemoteFollow
|
|
tags: ['Internal', 'Social']
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
account:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Contains redirect URL remote follow follow
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
redirectUrl:
|
|
type: string
|
|
'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'
|
|
responses:
|
|
'200':
|
|
description: Paginated follower count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedFollowers'
|
|
'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'
|
|
responses:
|
|
'200':
|
|
description: Metrics successfully recorded
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
/notifications/register:
|
|
post:
|
|
summary: Register for notifications
|
|
operationId: RegisterForLiveNotifications
|
|
tags: ['Internal']
|
|
parameters:
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
requestBody:
|
|
description: Information for notification
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
channel:
|
|
type: string
|
|
description: Name of notification channel
|
|
destination:
|
|
type: string
|
|
description: Target of the notification in the channel
|
|
responses:
|
|
'200':
|
|
description: Successfully added notification channel
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
/admin/status:
|
|
get:
|
|
summary: Get current inboard broadcaster
|
|
operationId: StatusAdmin
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: Gives the status of the system
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminStatus'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: StatusAdminOptions
|
|
x-internal: true
|
|
tags: ['Objects']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/disconnect:
|
|
get:
|
|
summary: Disconnect inbound stream
|
|
operationId: DisconnectInboundConnection
|
|
tags: ['Internal', 'Admin', 'Video']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: Contains information about disconnection status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: DisconnectInboundConnectionOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Video']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/serverconfig:
|
|
get:
|
|
summary: Get the current server config
|
|
operationId: GetServerConfig
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: Current server config
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminServerConfig'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetServerConfigOptions
|
|
x-internal: true
|
|
tags: ['Objects']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/viewersOverTime:
|
|
get:
|
|
summary: Get viewer count over time
|
|
operationId: GetViewersOverTime
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
parameters:
|
|
- in: query
|
|
name: windowStart
|
|
description: Start date in unix time
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Viewer count over time
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetViewersOverTimeOptions
|
|
x-internal: true
|
|
tags: ['Objects']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/viewers:
|
|
get:
|
|
summary: Get active viewers
|
|
operationId: GetActiveViewers
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of active viewers
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Viewer'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetActiveViewersOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Video']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/hardwarestats:
|
|
get:
|
|
summary: Get the current hardware stats
|
|
operationId: GetHardwareStats
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: Current hardware stats
|
|
content:
|
|
application/json:
|
|
schema:
|
|
allOf:
|
|
- $ref: '#/components/schemas/StreamHealthOverview'
|
|
- $ref: '#/components/schemas/CollectedMetrics'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetHardwareStatsOptions
|
|
x-internal: true
|
|
tags: ['Objects']
|
|
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:
|
|
'200':
|
|
description: List of chat clients
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChatClients'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetConnectedChatClientsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
'200':
|
|
description: List of chat messages for the admin
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChatMessages'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetChatMessagesAdminOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Messages updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: UpdateMessageVisibilityAdminOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
userId:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: Successfully updated the user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: UpdateUserEnabledAdminOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
'200':
|
|
description: List of disabled users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Users'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetDisabledUsersOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: IP was successfully banned
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: BanIPAddressOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: IP ban was successfully removed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: UnbanIPAddressOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
'200':
|
|
description: List of banned IP addresses
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/IPAddress'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetIPAddressBansOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
userId:
|
|
type: string
|
|
isModerator:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: Successfully update the moderator status of the user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: UpdateUserModeratorOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Chat']
|
|
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:
|
|
'200':
|
|
description: List of moderator users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Users'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetModeratorsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/logs:
|
|
get:
|
|
summary: Get all logs
|
|
operationId: GetLogs
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of logs
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
$ref: '#/components/headers/Access-Control-Allow-Origin'
|
|
'Access-Control-Allow-Credentials':
|
|
$ref: '#/components/headers/Access-Control-Allow-Credentials'
|
|
'Access-Control-Allow-Headers':
|
|
$ref: '#/components/headers/Access-Control-Allow-Headers'
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AdminLog'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetLogsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/logs/warnings:
|
|
get:
|
|
summary: Get warning/error logs
|
|
operationId: GetWarnings
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of warnings and errors
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
$ref: '#/components/headers/Access-Control-Allow-Origin'
|
|
'Access-Control-Allow-Credentials':
|
|
$ref: '#/components/headers/Access-Control-Allow-Credentials'
|
|
'Access-Control-Allow-Headers':
|
|
$ref: '#/components/headers/Access-Control-Allow-Headers'
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/AdminLog'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetWarningsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Paginated follower count
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedFollowers'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetFollowersAdminOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
'200':
|
|
description: List of pending followers
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Followers'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetPendingFollowRequestsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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:
|
|
'200':
|
|
description: List of rejected or blocked follows
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Followers'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetBlockedAndRejectedFollowersOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
actorIRI:
|
|
type: string
|
|
approved:
|
|
type: boolean
|
|
responses:
|
|
'200':
|
|
description: List of rejected or blocked follows
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ApproveFollowerOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/emoji/upload:
|
|
post:
|
|
summary: Upload custom emoji
|
|
operationId: UploadCustomEmoji
|
|
tags: ['Internal', 'Admin', 'Chat']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
data:
|
|
description: Base 64 encoded image data
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Emoji has been uploaded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: UploadCustomEmojiOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/emoji/delete:
|
|
post:
|
|
summary: Delete custom emoji
|
|
operationId: DeleteCustomEmoji
|
|
tags: ['Internal', 'Admin', 'Chat']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Emoji has been deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: DeleteCustomEmojiOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Admin password has been updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetAdminPasswordOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/StreamKey'
|
|
responses:
|
|
'200':
|
|
description: Stream keys have been updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetStreamKeysOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Page content has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetExtraPageContentOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Stream title has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetStreamTitleOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Server name has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetServerNameOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Server summary has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetServerSummaryOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Offline message has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetCustomOfflineMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Welcome message has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetServerWelcomeMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Chat has been disabled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetChatDisabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: User join messages has been enabled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetChatJoinMessagesEnabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Chat established user mode updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetEnableEstablishedChatUserModeOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Forbidden usernames updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetForbiddenUsernameListOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Suggested usernames updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetSuggestedUsernameListOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Spam protection enabled updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetChatSpamProtectionEnabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Slur filter enabled updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetChatSlurFilterEnabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Video codec updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetVideoCodecOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Stream latency updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetStreamLatencyLevelOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/StreamOutputVariant'
|
|
responses:
|
|
'200':
|
|
description: Stream Output Variants updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetStreamOutputVariantsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/appearance:
|
|
post:
|
|
summary: Set style/color/css values
|
|
operationId: SetCustomColorVariableValues
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Appearance updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetCustomColorVariableValuesOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Logo updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetLogoOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Tags updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetTagsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Path updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFfmpegPathOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Port updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetWebServerPortOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: IP Address updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetWebServerIPOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: RTMP port updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetRTMPServerPortOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Websocket host override updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetSocketHostOverrideOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Video Serving Endpoint updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetVideoServingEndpointOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: NSFW status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetNSFWOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Directory Enabled updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetDirectoryEnabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/socialhandles:
|
|
post:
|
|
summary: Update social handles
|
|
operationId: SetSocialHandles
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SocialHandle'
|
|
responses:
|
|
'200':
|
|
description: Social handles updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetSocialHandlesOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/s3:
|
|
post:
|
|
summary: Update S3 configuration
|
|
operationId: SetS3Configuration
|
|
tags: ['Internal', 'Admin', 'Video']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
$ref: '#/components/schemas/S3Info'
|
|
responses:
|
|
'200':
|
|
description: Directory Enabled updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetS3ConfigurationOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Server URL updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetServerURLOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/externalactions:
|
|
post:
|
|
summary: Update external action links
|
|
operationId: SetExternalActions
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ExternalAction'
|
|
responses:
|
|
'200':
|
|
description: External Action Links updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetExternalActionsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Custom styles updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetCustomStylesOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Custom JavaScript updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetCustomJavascriptOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Hide viewer count updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetHideViewerCountOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Search Indexing updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetDisableSearchIndexingOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Federation features enabled/disabled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationEnabledOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Private status set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationActivityPrivateOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Federation engagement set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationShowEngagementOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Federation username set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationUsernameOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Federation username set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationGoLiveMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Federation blocked domains set
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetFederationBlockDomainsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/notifications/discord:
|
|
post:
|
|
summary: Configure Discord notifications
|
|
operationId: SetDiscordNotificationConfiguration
|
|
tags: ['Internal', 'Admin', 'Notifications']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
$ref: '#/components/schemas/DiscordNotificationConfiguration'
|
|
responses:
|
|
'200':
|
|
description: Discord notification configuration updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetDiscordNotificationConfigurationOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Notifications']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/config/notifications/browser:
|
|
post:
|
|
summary: Configure Browser notifications
|
|
operationId: SetBrowserNotificationConfiguration
|
|
tags: ['Internal', 'Admin', 'Notifications']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
value:
|
|
$ref: '#/components/schemas/BrowserNotificationConfiguration'
|
|
responses:
|
|
'200':
|
|
description: Browser notification configuration updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SetBrowserNotificationConfigurationOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Notifications']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/webhooks:
|
|
get:
|
|
summary: Get all the webhooks
|
|
operationId: GetWebhooks
|
|
tags: ['Internal', 'Admin', 'Notifications']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: All webhooks
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Webhook'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetWebhooksOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Notifications']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/webhooks/delete:
|
|
post:
|
|
summary: Delete a single webhook
|
|
operationId: DeleteWebhook
|
|
tags: ['Internal', 'Admin', 'Notifications']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: Webhook successfully deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: DeleteWebhookOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Notifications']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/webhooks/create:
|
|
post:
|
|
summary: Create a single webhook
|
|
operationId: CreateWebhook
|
|
tags: ['Internal', 'Admin', 'Notifications']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WebhookEventType'
|
|
responses:
|
|
'200':
|
|
description: The new webhook
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Webhook'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: CreateWebhookOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Notifications']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/accesstokens:
|
|
get:
|
|
summary: Get all access tokens
|
|
operationId: GetExternalAPIUsers
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of external API users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ExternalAPIUser'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetExternalAPIUsersOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
token:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: External API user successfully deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: DeleteExternalAPIUserOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/accesstokens/create:
|
|
post:
|
|
summary: Create a single access token
|
|
operationId: CreateExternalAPIUser
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: The new external API user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ExternalAPIUser'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: CreateExternalAPIUserOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
'200':
|
|
description: Current auto-update options
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
supportsUpdate:
|
|
type: boolean
|
|
canRestart:
|
|
type: boolean
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: AutoUpdateOptionsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
'200':
|
|
description: Console output from update
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: AutoUpdateStartOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
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:
|
|
'200':
|
|
description: Server force restart has been ordered
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: AutoUpdateForceQuitOptions
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
x-internal: true
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/yp/reset:
|
|
get:
|
|
summary: Reset YP configuration
|
|
operationId: ResetYPRegistration
|
|
tags: ['Internal', 'Admin']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: YP Registration has been reset
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ResetYPRegistrationOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/metrics/video:
|
|
get:
|
|
summary: Get video playback metrics
|
|
operationId: GetVideoPlaybackMetrics
|
|
tags: ['Internal', 'Admin', 'Video']
|
|
security:
|
|
- BasicAuth: []
|
|
responses:
|
|
'200':
|
|
description: Video playback metrics
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
qualityVariantChanges:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
highestLatency:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
medianLatency:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
lowestLatency:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
medianSegmentDownloadDuration:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
maximumSegmentDownloadDuration:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
minimumSegmentDownloadDuration:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
minPlayerBitrate:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
medianPlayerBitrate:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
maxPlayerBitrate:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
availableBitrates:
|
|
type: array
|
|
items:
|
|
type: integer
|
|
segmentLength:
|
|
type: integer
|
|
representation:
|
|
type: integer
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetVideoPlaybackMetricsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Video']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/admin/prometheus:
|
|
get:
|
|
summary: Endpoint to interface with Prometheus
|
|
description: |-
|
|
This endpoint interfaces with the Prometheus metrics API.
|
|
|
|
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: |-
|
|
This endpoint interfaces with the Prometheus metrics API.
|
|
|
|
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: |-
|
|
This endpoint interfaces with the Prometheus metrics API.
|
|
|
|
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: |-
|
|
This endpoint interfaces with the Prometheus metrics API.
|
|
|
|
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: |-
|
|
This endpoint interfaces with the Prometheus metrics API.
|
|
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Message sent
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SendFederatedMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: A paginated list of federated activities
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PaginatedFederatedActivity'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: GetFederatedActionsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Social']
|
|
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:
|
|
description: The content of the system message
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SystemMessage'
|
|
responses:
|
|
'200':
|
|
description: Message sent successfully
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
$ref: '#/components/headers/Access-Control-Allow-Origin'
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SendSystemMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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:
|
|
- in: path
|
|
name: clientId
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: The ID of the specified client
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/SystemMessage'
|
|
responses:
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SendSystemMessageToConnectedClientOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
parameters:
|
|
- in: path
|
|
name: clientId
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
description: The ID of the specified client
|
|
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'
|
|
options:
|
|
deprecated: true
|
|
operationId: SendUserMessageOptions
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Message sent successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SendIntegrationChatMessageOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'External', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Action sent successfully
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: SendChatActionOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'Internal', 'Admin', 'Chat']
|
|
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'
|
|
responses:
|
|
'200':
|
|
description: Messages updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ExternalUpdateMessageVisibilityOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'External', 'Admin', 'Chat']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/integrations/streamtitle:
|
|
post:
|
|
summary: Stream title
|
|
operationId: ExternalSetStreamTitle
|
|
tags: ['External']
|
|
security:
|
|
- BearerAuth: []
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/AdminConfigValue'
|
|
responses:
|
|
'200':
|
|
description: Stream title has been changed
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ExternalSetStreamTitleOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'External', 'Admin']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/integrations/chat:
|
|
get:
|
|
summary: Get chat history
|
|
operationId: ExternalGetChatMessages
|
|
tags: ['External', 'Chat']
|
|
security:
|
|
- BearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of chat messages
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChatMessages'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'501':
|
|
$ref: '#/components/responses/501'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ExternalGetChatMessagesOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'External', 'Admin', 'Chat']
|
|
responses:
|
|
'204':
|
|
$ref: '#/components/responses/204'
|
|
/integrations/clients:
|
|
get:
|
|
summary: Connected clients
|
|
operationId: ExternalGetConnectedChatClients
|
|
tags: ['External', 'Chat']
|
|
security:
|
|
- BearerAuth: []
|
|
responses:
|
|
'200':
|
|
description: List of chat clients
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ChatClients'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401BasicAuth'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
options:
|
|
operationId: ExternalGetConnectedChatClientsOptions
|
|
x-internal: true
|
|
tags: ['Objects', 'External', 'Admin', 'Chat']
|
|
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
|
|
schema:
|
|
type: string
|
|
description: The ID of the user to find
|
|
required: true
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
responses:
|
|
'200':
|
|
description: User information
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ModerationUserDetails'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
'404':
|
|
$ref: '#/components/responses/404'
|
|
default:
|
|
$ref: '#/components/responses/Default'
|
|
/auth/indieauth:
|
|
post:
|
|
summary: Begins auth flow
|
|
operationId: StartIndieAuthFlow
|
|
tags: ['Internal', 'Auth', 'Chat']
|
|
parameters:
|
|
- $ref: '#/components/parameters/AccessToken'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
authHost:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Authentication redirect
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
redirect:
|
|
type: string
|
|
format: url
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
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'
|
|
responses:
|
|
'307':
|
|
description: Redirected to home page
|
|
'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'
|
|
responses:
|
|
'200':
|
|
description: IndieAuth flow concluded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/IndieAuthResponse'
|
|
'307':
|
|
description: Redirected to redirect URI
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'500':
|
|
$ref: '#/components/responses/500'
|
|
post:
|
|
summary: Handles IndieAuth from form submission
|
|
operationId: HandleIndieAuthEndpointPost
|
|
tags: ['Internal', 'Auth', 'Chat']
|
|
requestBody:
|
|
$ref: '#/components/requestBodies/IndieAuthEndpointForm'
|
|
responses:
|
|
'200':
|
|
description: IndieAuth flow concluded
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '#/components/schemas/IndieAuthResponse'
|
|
- $ref: '#/components/schemas/IndieAuthServerProfileResponse'
|
|
'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'
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
account:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: OTP sent
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'401':
|
|
$ref: '#/components/responses/401'
|
|
/auth/fediverse/verify:
|
|
post:
|
|
summary: Verify Fediverse OTP code
|
|
operationId: VerifyFediverseOTPRequest
|
|
tags: ['Internal', 'Auth', 'Chat']
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: OTP Verified
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'400':
|
|
$ref: '#/components/responses/400'
|
|
'403':
|
|
$ref: '#/components/responses/403'
|
|
|
|
components:
|
|
schemas:
|
|
Error:
|
|
type: object
|
|
description: Structure for an error response
|
|
properties:
|
|
error:
|
|
type: string
|
|
BaseAPIResponse:
|
|
type: object
|
|
description: Simple API response
|
|
properties:
|
|
message:
|
|
type: string
|
|
success:
|
|
type: boolean
|
|
Status:
|
|
type: object
|
|
description: Response for status
|
|
properties:
|
|
serverTime:
|
|
type: string
|
|
lastConnectTime:
|
|
type: string
|
|
lastDisconnectTime:
|
|
type: string
|
|
versionNumber:
|
|
type: string
|
|
viewerCount:
|
|
type: integer
|
|
online:
|
|
type: boolean
|
|
streamTitle:
|
|
type: string
|
|
Emojis:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Emoji'
|
|
Emoji:
|
|
type: object
|
|
description: Name and url for an emoji
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: The name of the emoji
|
|
url:
|
|
type: string
|
|
description: URL for the emoji image
|
|
AnonymousUser:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
accessToken:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
User:
|
|
type: object
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
disabledAt:
|
|
type: string
|
|
nameChangedAt:
|
|
type: string
|
|
id:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
previousNames:
|
|
type: array
|
|
items:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
displayColor:
|
|
type: integer
|
|
isBot:
|
|
type: boolean
|
|
authenticated:
|
|
type: boolean
|
|
Users:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
Follower:
|
|
type: object
|
|
properties:
|
|
link:
|
|
type: string
|
|
description: The IRI of the remote actor.
|
|
name:
|
|
type: string
|
|
description: The display name of the follower.
|
|
username:
|
|
type: string
|
|
description: The account username of the remote actor.
|
|
image:
|
|
type: string
|
|
description: The avatar image of the follower.
|
|
timestamp:
|
|
type: string
|
|
description: When this follow request was created.
|
|
disabledAt:
|
|
type: string
|
|
description: When this follower was rejected or disabled.
|
|
Followers:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Follower'
|
|
PaginatedFollowers:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: integer
|
|
results:
|
|
$ref: '#/components/schemas/Followers'
|
|
Event:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
type:
|
|
type: string
|
|
id:
|
|
type: string
|
|
UserEvent:
|
|
type: object
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/User'
|
|
hiddenAt:
|
|
type: string
|
|
clientId:
|
|
type: integer
|
|
MessageEvent:
|
|
type: object
|
|
properties:
|
|
body:
|
|
type: string
|
|
ChatMessages:
|
|
type: array
|
|
items:
|
|
anyOf:
|
|
- $ref: '#/components/schemas/UserMessage'
|
|
- $ref: '#/components/schemas/SystemMessage'
|
|
- $ref: '#/components/schemas/ActionMessage'
|
|
- $ref: '#/components/schemas/FederatedAction'
|
|
UserMessage:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/components/schemas/Event'
|
|
- $ref: '#/components/schemas/UserEvent'
|
|
- $ref: '#/components/schemas/MessageEvent'
|
|
SystemMessage:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/components/schemas/Event'
|
|
- $ref: '#/components/schemas/MessageEvent'
|
|
SystemActionEvent:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/components/schemas/Event'
|
|
- $ref: '#/components/schemas/MessageEvent'
|
|
ActionMessage:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/components/schemas/Event'
|
|
- $ref: '#/components/schemas/MessageEvent'
|
|
FederatedAction:
|
|
type: object
|
|
allOf:
|
|
- $ref: '#/components/schemas/Event'
|
|
- $ref: '#/components/schemas/MessageEvent'
|
|
- type: object
|
|
properties:
|
|
image:
|
|
type: string
|
|
link:
|
|
type: string
|
|
title:
|
|
type: string
|
|
WebConfig:
|
|
type: object
|
|
properties:
|
|
appearanceVariables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
name:
|
|
type: string
|
|
customStyles:
|
|
type: string
|
|
streamTitle:
|
|
type: string
|
|
offlineMessage:
|
|
type: string
|
|
logo:
|
|
type: string
|
|
version:
|
|
type: string
|
|
socketHostOverride:
|
|
type: string
|
|
extraPageContent:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
socialHandles:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SocialHandle'
|
|
externalActions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ExternalAction'
|
|
notifications:
|
|
$ref: '#/components/schemas/NotificationConfig'
|
|
federation:
|
|
$ref: '#/components/schemas/FederationConfig'
|
|
maxSocketPayloadSize:
|
|
type: integer
|
|
hideViewerCount:
|
|
type: boolean
|
|
chatDisabled:
|
|
type: boolean
|
|
nsfw:
|
|
type: boolean
|
|
authentication:
|
|
$ref: '#/components/schemas/AuthenticationConfig'
|
|
SocialHandle:
|
|
type: object
|
|
properties:
|
|
platform:
|
|
type: string
|
|
url:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
ExternalAction:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
html:
|
|
type: string
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
icon:
|
|
type: string
|
|
color:
|
|
type: string
|
|
openExternally:
|
|
type: boolean
|
|
NotificationConfig:
|
|
type: object
|
|
properties:
|
|
browser:
|
|
$ref: '#/components/schemas/BrowserConfig'
|
|
BrowserConfig:
|
|
type: object
|
|
properties:
|
|
publicKey:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
FederationConfig:
|
|
type: object
|
|
properties:
|
|
account:
|
|
type: string
|
|
followerCount:
|
|
type: integer
|
|
enabled:
|
|
type: boolean
|
|
AuthenticationConfig:
|
|
type: object
|
|
properties:
|
|
indieAuthEnabled:
|
|
type: boolean
|
|
YPDetails:
|
|
type: object
|
|
properties:
|
|
lastConnectTime:
|
|
type: string
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
streamTitle:
|
|
type: string
|
|
logo:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
social:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SocialHandle'
|
|
viewerCount:
|
|
type: integer
|
|
overallMaxViewerCount:
|
|
type: integer
|
|
sessionMaxViewerCount:
|
|
type: integer
|
|
nsfw:
|
|
type: boolean
|
|
online:
|
|
type: boolean
|
|
VideoVariant:
|
|
type: object
|
|
properties:
|
|
index:
|
|
type: integer
|
|
name:
|
|
type: string
|
|
PlaybackMetrics:
|
|
type: object
|
|
properties:
|
|
bandwidth:
|
|
type: number
|
|
format: double
|
|
latency:
|
|
type: number
|
|
format: double
|
|
errors:
|
|
type: number
|
|
format: double
|
|
downloadDuration:
|
|
type: number
|
|
format: double
|
|
qualityVariantChanges:
|
|
type: number
|
|
format: double
|
|
Broadcaster:
|
|
type: object
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
remoteAddr:
|
|
type: string
|
|
streamDetails:
|
|
$ref: '#/components/schemas/InboundStreamDetails'
|
|
InboundStreamDetails:
|
|
type: object
|
|
properties:
|
|
videoCodec:
|
|
type: string
|
|
audioCodec:
|
|
type: string
|
|
encoder:
|
|
type: string
|
|
width:
|
|
type: integer
|
|
height:
|
|
type: integer
|
|
videoBitrate:
|
|
type: integer
|
|
audioBitrate:
|
|
type: integer
|
|
framerate:
|
|
type: number
|
|
format: float
|
|
CurrentBroadcast:
|
|
type: object
|
|
properties:
|
|
outputSettings:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/StreamOutputVariant'
|
|
latencyLevel:
|
|
$ref: '#/components/schemas/LatencyLevel'
|
|
StreamOutputVariant:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
videoPassthrough:
|
|
type: boolean
|
|
audioPassthrough:
|
|
type: boolean
|
|
videoBitrate:
|
|
type: integer
|
|
audioBitrate:
|
|
type: integer
|
|
scaledWidth:
|
|
type: integer
|
|
scaledHeight:
|
|
type: integer
|
|
framerate:
|
|
type: integer
|
|
cpuUsageLevel:
|
|
type: integer
|
|
LatencyLevel:
|
|
type: object
|
|
properties:
|
|
level:
|
|
type: integer
|
|
StreamHealthOverview:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
healthPercentage:
|
|
type: integer
|
|
representation:
|
|
type: integer
|
|
healthy:
|
|
type: boolean
|
|
BrowserNotificationConfiguration:
|
|
type: object
|
|
properties:
|
|
goLiveMessage:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
DiscordNotificationConfiguration:
|
|
type: object
|
|
properties:
|
|
webhook:
|
|
type: string
|
|
goLiveMessage:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
S3Info:
|
|
type: object
|
|
properties:
|
|
endpoint:
|
|
type: string
|
|
accessKey:
|
|
type: string
|
|
secret:
|
|
type: string
|
|
bucket:
|
|
type: string
|
|
region:
|
|
type: string
|
|
acl:
|
|
type: string
|
|
pathPrefix:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
forcePathStyle:
|
|
type: boolean
|
|
StreamKey:
|
|
type: object
|
|
properties:
|
|
key:
|
|
type: string
|
|
comment:
|
|
type: string
|
|
TimestampedValue:
|
|
type: object
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
value:
|
|
type: number
|
|
format: double
|
|
Viewer:
|
|
type: object
|
|
properties:
|
|
firstSeen:
|
|
type: string
|
|
format: date-time
|
|
geo:
|
|
$ref: '#/components/schemas/GeoDetails'
|
|
userAgent:
|
|
type: string
|
|
ipAddress:
|
|
type: string
|
|
clientID:
|
|
type: string
|
|
GeoDetails:
|
|
type: object
|
|
properties:
|
|
countryCode:
|
|
type: string
|
|
regionName:
|
|
type: string
|
|
timeZone:
|
|
type: string
|
|
CollectedMetrics:
|
|
type: object
|
|
properties:
|
|
disk:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
memory:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
cpu:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/TimestampedValue'
|
|
ChatClient:
|
|
type: object
|
|
properties:
|
|
connectedAt:
|
|
type: string
|
|
format: date-time
|
|
user:
|
|
$ref: '#/components/schemas/User'
|
|
geo:
|
|
$ref: '#/components/schemas/GeoDetails'
|
|
userAgent:
|
|
type: string
|
|
messageCount:
|
|
type: integer
|
|
ChatClients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ChatClient'
|
|
IPAddress:
|
|
type: object
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
ipAddress:
|
|
type: string
|
|
notes:
|
|
type: string
|
|
Webhook:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
lastUsed:
|
|
type: string
|
|
format: date-time
|
|
url:
|
|
type: string
|
|
events:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/WebhookEventType'
|
|
id:
|
|
type: integer
|
|
WebhookEventType:
|
|
type: string
|
|
enum:
|
|
- CHAT
|
|
- USER_JOINED
|
|
- USER_PARTED
|
|
- NAME_CHANGE
|
|
- VISIBILITY-UPDATE
|
|
- PING
|
|
- PONG
|
|
- STREAM_STARTED
|
|
- STREAM_STOPPED
|
|
- STREAM_TITLE_UPDATED
|
|
- SYSTEM
|
|
- CHAT_ACTION
|
|
ExternalAPIUser:
|
|
type: object
|
|
properties:
|
|
createdAt:
|
|
type: string
|
|
format: date-time
|
|
lastUsedAt:
|
|
type: string
|
|
format: date-time
|
|
id:
|
|
type: string
|
|
accessToken:
|
|
type: string
|
|
displayName:
|
|
type: string
|
|
type:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
displayColor:
|
|
type: integer
|
|
isBot:
|
|
type: boolean
|
|
MessageVisibilityUpdate:
|
|
type: object
|
|
properties:
|
|
idArray:
|
|
type: array
|
|
items:
|
|
type: string
|
|
visible:
|
|
type: boolean
|
|
ModerationUserDetails:
|
|
type: object
|
|
properties:
|
|
user:
|
|
$ref: '#/components/schemas/User'
|
|
connectedClients:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ModerationConnectedClient'
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/UserMessage'
|
|
ModerationConnectedClient:
|
|
type: object
|
|
properties:
|
|
connectedAt:
|
|
type: string
|
|
format: date-time
|
|
userAgent:
|
|
type: string
|
|
geo:
|
|
type: string
|
|
id:
|
|
type: integer
|
|
format: int64
|
|
messageCount:
|
|
type: integer
|
|
FederatedActivity:
|
|
type: object
|
|
properties:
|
|
timestamp:
|
|
type: string
|
|
format: date-time
|
|
iri:
|
|
type: string
|
|
actorIRI:
|
|
type: string
|
|
type:
|
|
type: string
|
|
PaginatedFederatedActivity:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: integer
|
|
results:
|
|
$ref: '#/components/schemas/FederatedActivity'
|
|
AdminStatus:
|
|
type: object
|
|
properties:
|
|
broadcaster:
|
|
$ref: '#/components/schemas/Broadcaster'
|
|
currentBroadcast:
|
|
$ref: '#/components/schemas/CurrentBroadcast'
|
|
health:
|
|
$ref: '#/components/schemas/StreamHealthOverview'
|
|
streamTitle:
|
|
type: string
|
|
versionNumber:
|
|
type: string
|
|
viewerCount:
|
|
type: integer
|
|
overallPeakViewerCount:
|
|
type: integer
|
|
sessionPeakViewerCount:
|
|
type: integer
|
|
online:
|
|
type: boolean
|
|
AdminServerConfig:
|
|
type: object
|
|
properties:
|
|
instanceDetails:
|
|
$ref: '#/components/schemas/AdminWebConfig'
|
|
notifications:
|
|
$ref: '#/components/schemas/AdminNotificationsConfig'
|
|
yp:
|
|
$ref: '#/components/schemas/AdminYPInfo'
|
|
ffmpegPath:
|
|
type: string
|
|
adminPassword:
|
|
type: string
|
|
socketHostOverride:
|
|
type: string
|
|
webServerIP:
|
|
type: string
|
|
videoCodec:
|
|
type: string
|
|
videoServingEndpoint:
|
|
type: string
|
|
s3:
|
|
$ref: '#/components/schemas/S3Info'
|
|
federation:
|
|
$ref: '#/components/schemas/AdminFederationConfig'
|
|
supportedCodecs:
|
|
type: array
|
|
items:
|
|
type: string
|
|
externalActions:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/ExternalAction'
|
|
forbiddenUsernames:
|
|
type: array
|
|
items:
|
|
type: string
|
|
suggestedUsernames:
|
|
type: array
|
|
items:
|
|
type: string
|
|
streamKeys:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/StreamKey'
|
|
videoSettings:
|
|
$ref: '#/components/schemas/AdminVideoSettings'
|
|
rtmpServerPort:
|
|
type: integer
|
|
webServerPort:
|
|
type: integer
|
|
chatDisabled:
|
|
type: boolean
|
|
chatJoinMessagesEnabled:
|
|
type: boolean
|
|
chatEstablishedUserMode:
|
|
type: boolean
|
|
disableSearchIndexing:
|
|
type: boolean
|
|
streamKeyOverridden:
|
|
type: boolean
|
|
hideViewerCount:
|
|
type: boolean
|
|
AdminWebConfig:
|
|
type: object
|
|
properties:
|
|
appearanceVariables:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
version:
|
|
type: string
|
|
welcomeMessage:
|
|
type: string
|
|
offlineMessage:
|
|
type: string
|
|
logo:
|
|
type: string
|
|
name:
|
|
type: string
|
|
extraPageContent:
|
|
type: string
|
|
streamTitle:
|
|
type: string
|
|
customStyles:
|
|
type: string
|
|
customJavascript:
|
|
type: string
|
|
summary:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
socialHandles:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/SocialHandle'
|
|
nsfw:
|
|
type: boolean
|
|
AdminNotificationsConfig:
|
|
type: object
|
|
properties:
|
|
browser:
|
|
$ref: '#/components/schemas/BrowserNotificationConfiguration'
|
|
discord:
|
|
$ref: '#/components/schemas/DiscordNotificationConfiguration'
|
|
AdminYPInfo:
|
|
type: object
|
|
properties:
|
|
instanceUrl:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
AdminFederationConfig:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
goLiveMessage:
|
|
type: string
|
|
blockedDomains:
|
|
type: array
|
|
items:
|
|
type: string
|
|
enabled:
|
|
type: boolean
|
|
isPrivate:
|
|
type: boolean
|
|
showEngagement:
|
|
type: boolean
|
|
AdminVideoSettings:
|
|
type: object
|
|
properties:
|
|
videoQualityVariants:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/StreamOutputVariant'
|
|
latencyLevel:
|
|
type: integer
|
|
AdminLog:
|
|
type: object
|
|
properties:
|
|
time:
|
|
type: string
|
|
format: date-time
|
|
message:
|
|
type: string
|
|
level:
|
|
type: string
|
|
AdminConfigValue:
|
|
type: object
|
|
properties:
|
|
value:
|
|
oneOf:
|
|
- type: string
|
|
- type: boolean
|
|
- type: array
|
|
items:
|
|
type: string
|
|
- type: number
|
|
IndieAuthResponse:
|
|
type: object
|
|
properties:
|
|
me:
|
|
type: string
|
|
profile:
|
|
$ref: '#/components/schemas/IndieAuthProfile'
|
|
error:
|
|
type: string
|
|
errorDescription:
|
|
type: string
|
|
IndieAuthProfile:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
photo:
|
|
type: string
|
|
IndieAuthServerProfileResponse:
|
|
type: object
|
|
properties:
|
|
me:
|
|
type: string
|
|
profile:
|
|
$ref: '#/components/schemas/IndieAuthServerProfile'
|
|
error:
|
|
type: string
|
|
errorDescription:
|
|
type: string
|
|
IndieAuthServerProfile:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
url:
|
|
type: string
|
|
photo:
|
|
type: string
|
|
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
schema:
|
|
type: string
|
|
'Access-Control-Allow-Credentials':
|
|
schema:
|
|
type: string
|
|
format: boolean
|
|
'Access-Control-Allow-Headers':
|
|
schema:
|
|
type: string
|
|
'WWW-Authenticate':
|
|
schema:
|
|
type: string
|
|
'X-Content-Type-Options':
|
|
schema:
|
|
type: string
|
|
|
|
requestBodies:
|
|
AdminConfigValue:
|
|
description: A single value that is used in the request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AdminConfigValue'
|
|
IndieAuthEndpointForm:
|
|
description: Form submission from IndieAuth
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
code:
|
|
type: string
|
|
redirect_uri:
|
|
type: string
|
|
client_id:
|
|
type: string
|
|
codeVerifier:
|
|
type: string
|
|
|
|
responses:
|
|
Default:
|
|
description: Unexpected error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'204':
|
|
description: No Content
|
|
'204Options':
|
|
description: No Content
|
|
x-internal: true
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
$ref: '#/components/headers/Access-Control-Allow-Origin'
|
|
'400':
|
|
description: Bad request
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/BaseAPIResponse'
|
|
'401':
|
|
description: Unauthorized
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
'401BasicAuth':
|
|
description: Basic auth failure
|
|
headers:
|
|
'Access-Control-Allow-Origin':
|
|
$ref: '#/components/headers/Access-Control-Allow-Origin'
|
|
'Access-Control-Allow-Credentials':
|
|
$ref: '#/components/headers/Access-Control-Allow-Credentials'
|
|
'Access-Control-Allow-Headers':
|
|
$ref: '#/components/headers/Access-Control-Allow-Headers'
|
|
'WWW-Authenticate':
|
|
$ref: '#/components/headers/WWW-Authenticate'
|
|
'X-Content-Type-Options':
|
|
$ref: '#/components/headers/X-Content-Type-Options'
|
|
content:
|
|
text/plain:
|
|
schema:
|
|
type: string
|
|
'403':
|
|
description: Forbidden
|
|
'404':
|
|
description: Not found
|
|
'500':
|
|
description: Internal Server Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
'501':
|
|
description: Not Implemented
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
parameters:
|
|
Offset:
|
|
in: query
|
|
name: offset
|
|
schema:
|
|
type: integer
|
|
description: The number of items to skip before starting to collect the result set
|
|
Limit:
|
|
in: query
|
|
name: limit
|
|
schema:
|
|
type: integer
|
|
description: The numbers of items to return
|
|
AccessToken:
|
|
in: query
|
|
name: accessToken
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthClientId:
|
|
in: query
|
|
name: client_id
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthRedirectURI:
|
|
in: query
|
|
name: redirect_uri
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthCodeChallenge:
|
|
in: query
|
|
name: code_challenge
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthState:
|
|
in: query
|
|
name: state
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthCode:
|
|
in: query
|
|
name: code
|
|
schema:
|
|
type: string
|
|
required: true
|
|
IndieAuthMe:
|
|
in: query
|
|
name: me
|
|
schema:
|
|
type: string
|
|
required: true
|
|
|
|
securitySchemes:
|
|
BasicAuth:
|
|
type: http
|
|
scheme: basic
|
|
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
|