diff --git a/doc/api/index.html b/doc/api/index.html
index 3b73c7ce2..7cfa99e93 100644
--- a/doc/api/index.html
+++ b/doc/api/index.html
@@ -182,6 +182,12 @@ data-styled.g22[id="sc-fzoXzr"]{content:"Lihot,"}/*!sc*/
.jlDjZa .sc-fzpjYC,.jlDjZa .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC,.jlDjZa .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC{margin:1em;margin-right:0;background:#fafafa;}/*!sc*/
.jlDjZa .sc-fzpjYC .sc-fzpjYC,.jlDjZa .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC,.jlDjZa .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC .sc-fzpjYC{background:#ffffff;}/*!sc*/
data-styled.g24[id="sc-fznxsB"]{content:"jlDjZa,"}/*!sc*/
+.gqZkJU{font-size:0.9em;font-family:Courier,monospace;}/*!sc*/
+.gqZkJU::after{content:' [';}/*!sc*/
+data-styled.g28[id="sc-fzqARJ"]{content:"gqZkJU,"}/*!sc*/
+.kCRNAN{font-size:0.9em;font-family:Courier,monospace;}/*!sc*/
+.kCRNAN::after{content:']';}/*!sc*/
+data-styled.g29[id="sc-fzqNqU"]{content:"kCRNAN,"}/*!sc*/
.iuCQoO{background-color:#f5f5f5;border:2px solid #7C7C7C;border-radius:7;cursor:pointer;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-size:1em;position:relative;}/*!sc*/
.iuCQoO:hover{border:2px solid #6e6d6d;}/*!sc*/
.iuCQoO:disabled{background-color:#ededed;cursor:unset;}/*!sc*/
@@ -430,6 +436,8 @@ data-styled.g69[id="sc-fzqLLg"]{content:"jbhQmP,"}/*!sc*/
data-styled.g70[id="sc-fzoxnE"]{content:"dUEjwH,"}/*!sc*/
.chnCRo{vertical-align:middle;font-size:13px;line-height:20px;color:#d41f1c;font-size:0.9em;font-weight:normal;margin-left:20px;line-height:1;}/*!sc*/
data-styled.g73[id="sc-fzplgP"]{content:"chnCRo,"}/*!sc*/
+.jdKyQH{padding-left:10px;}/*!sc*/
+data-styled.g85[id="sc-fznNTe"]{content:"jdKyQH,"}/*!sc*/
.CvVzT{font-family:Montserrat,sans-serif;font-weight:400;font-size:1.85714em;line-height:1.6em;color:#32329f;margin-top:0;margin-bottom:0.5em;}/*!sc*/
data-styled.g87[id="sc-fzooss"]{content:"CvVzT,"}/*!sc*/
.hTmvgG{border:1px solid #32329f;color:#32329f;font-weight:normal;margin-left:0.5em;padding:4px 8px 4px;display:inline-block;-webkit-text-decoration:none;text-decoration:none;cursor:pointer;}/*!sc*/
@@ -585,7 +593,7 @@ data-styled.g143[id="sc-global-kJtbWf1"]{content:"sc-global-kJtbWf1,"}/*!sc*/
- Owncast (0.0.7-dev) Download OpenAPI specification:Download
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software. The following APIs represent the state in the development branch.
+ " fill="currentColor">
Owncast (0.0.7) Download OpenAPI specification:Download
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software. The following APIs represent the state in the development branch.
AdminBasicAuthThe username for admin basic auth is admin
and the password is the stream key.
Security Scheme Type HTTP HTTP Authorization Scheme basic
AccessToken3rd party integration auth where a service user must provide an access token.
Security Scheme Type HTTP HTTP Authorization Scheme bearer
Admin operations requiring authentication.
@@ -667,50 +675,66 @@ data-styled.g143[id="sc-global-kJtbWf1"]{content:"sc-global-kJtbWf1,"}/*!sc*/
Response samples Content type application/json
Copy
Expand all Collapse all Hardware Stats get /api/admin/hardwarestats Get the CPU, Memory and Disk utilization levels over the collected period.
Response samples Content type application/json
Copy
Expand all Collapse all Return all webhooks. Return all of the configured webhooks for external events.
Responses 200 Webhooks are returned
- Response samples Content type application/json
Copy
Expand all Collapse all Delete a single webhook. post /api/admin/webhooks/delete
/api/admin/webhooks/delete
Delete a single webhook by its ID.
+
Response samples Content type application/json
Copy
Expand all Collapse all Set external action URLs. post /api/admin/config/externalactions
/api/admin/config/externalactions
Set a collection of external action URLs that are displayed in the UI.
+
Request Body schema: application/json
Array ()
url string
URL of the external action content.
+
title string
The title to put on the external action button.
+
description string
Optional additional description to display in the UI.
+
icon string
The URL to an image to place on the external action button.
+
color string
Optional color to use for drawing the action button.
+
openExternally boolean
If set this action will open in a new browser tab instead of an internal modal.
+
Responses 200 Actions have been updated.
+ Request samples Content type application/json
Copy
Expand all Collapse all [ { "url" : "string" ,
"title" : "string" ,
"description" : "string" ,
"icon" : "string" ,
"color" : "string" ,
"openExternally" : true
} ]
Delete a single webhook. post /api/admin/webhooks/delete
/api/admin/webhooks/delete
Delete a single webhook by its ID.
Request Body schema: application/json
Request samples Content type application/json
Copy
Expand all Collapse all Create a webhook. post /api/admin/webhooks/create
/api/admin/webhooks/create
Create a single webhook that acts on the requested events.
+
Request samples Content type application/json
Copy
Expand all Collapse all Create a webhook. post /api/admin/webhooks/create
/api/admin/webhooks/create
Create a single webhook that acts on the requested events.
Request Body schema: application/json
url string
The url to post the events to.
events Array of strings
The events to be notified about.
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Endpoints related to the chat interface.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Endpoints related to the chat interface.
Historical Chat Messages Used to get all chat messages prior to connecting to the websocket.
-
Response samples Content type application/json
Copy
Expand all Collapse all Get Custom Emoji Get a list of custom emoji that are supported in chat.
-
Response samples Content type application/json
Copy
Expand all Collapse all APIs built to allow 3rd parties to interact with an Owncast server.
+
Response samples Content type application/json
Copy
Expand all Collapse all Get Custom Emoji Get a list of custom emoji that are supported in chat.
+
Response samples Content type application/json
Copy
Expand all Collapse all APIs built to allow 3rd parties to interact with an Owncast server.
Set the stream title. post /api/integrations/streamtitle
/api/integrations/streamtitle
Set the title of the currently streaming content.
Request Body schema: application/json
value string or integer or object or boolean
Responses 200 Operation Success/Failure Response
- Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Example Operation succeeded.
Operation failed.
Copy
Expand all Collapse all Send a user chat message. post /api/integrations/chat/user
/api/integrations/chat/user
Send a chat message on behalf of a user. Could be a bot name or a real user.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Example Operation succeeded.
Operation failed.
Copy
Expand all Collapse all Send a user chat message. post /api/integrations/chat/user
/api/integrations/chat/user
Send a chat message on behalf of a user. Could be a bot name or a real user.
Request Body schema: application/json
user string
The user you want to send this message as.
body string
The message text that will be sent as the user.
Request samples Content type application/json
Copy
Expand all Collapse all { "user" : "string" ,
"body" : "string"
}
Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Send a system chat message. post /api/integrations/chat/system
/api/integrations/chat/system
Send a chat message on behalf of the system/server.
+
Request samples Content type application/json
Copy
Expand all Collapse all { "user" : "string" ,
"body" : "string"
}
Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Send a system chat message. post /api/integrations/chat/system
/api/integrations/chat/system
Send a chat message on behalf of the system/server.
Request Body schema: application/json
body string
The message text that will be sent as the system user.
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Send a chat action. post /api/integrations/chat/action
/api/integrations/chat/action
Send an action that took place to the chat.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Send a chat action. post /api/integrations/chat/action
/api/integrations/chat/action
Send an action that took place to the chat.
Request Body schema: application/json
body required
string
The message text that will be sent as the system user.
author string
An optional user name that performed the action.
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Create an access token. post /api/admin/accesstokens/create
/api/admin/accesstokens/create
Create a single access token that has access to the access scopes provided.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all { "success" : true ,
"message" : "sent"
}
Create an access token. post /api/admin/accesstokens/create
/api/admin/accesstokens/create
Create a single access token that has access to the access scopes provided.
Request Body schema: application/json
name string
The human-readable name to give this access token.
scopes
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Delete an access token. post /api/admin/accesstokens/delete
/api/admin/accesstokens/delete
Delete a single access token.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Delete an access token. post /api/admin/accesstokens/delete
/api/admin/accesstokens/delete
Delete a single access token.
Request Body schema: application/json
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Return all access tokens. get /api/admin/accesstokens Return all of the available access tokens.
+
Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Copy
Expand all Collapse all Return all access tokens. get /api/admin/accesstokens Return all of the available access tokens.
Responses 200 Tokens are returned
- Response samples Content type application/json
Copy
Expand all Collapse all Return a list of currently connected clients get /api/integrations/clients
/api/integrations/clients
Return a list of currently connected clients with optional geo details.
+
Response samples Content type application/json
Copy
Expand all Collapse all Set external action URLs. post /api/admin/config/externalactions
/api/admin/config/externalactions
Set a collection of external action URLs that are displayed in the UI.
+
Request Body schema: application/json
Array ()
url string
URL of the external action content.
+
title string
The title to put on the external action button.
+
description string
Optional additional description to display in the UI.
+
icon string
The URL to an image to place on the external action button.
+
color string
Optional color to use for drawing the action button.
+
openExternally boolean
If set this action will open in a new browser tab instead of an internal modal.
+
Responses 200 Actions have been updated.
+ Request samples Content type application/json
Copy
Expand all Collapse all [ { "url" : "string" ,
"title" : "string" ,
"description" : "string" ,
"icon" : "string" ,
"color" : "string" ,
"openExternally" : true
} ]
Return a list of currently connected clients get /api/integrations/clients
/api/integrations/clients
Return a list of currently connected clients with optional geo details.
Responses 200 Successful response of an array of clients
- Response samples Content type application/json
Copy
Expand all Collapse all [ { "connectedAt" : "2020-10-06T23:20:44.588649-07:00" ,
"messageCount" : 3 ,
"userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" ,
"ipAddress" : "172.217.164.110" ,
"username" : "coolperson42" ,
"clientID" : "2ba20dd34f911c198df3218ddc64c740" ,
} ]
Historical Chat Messages get /api/integrations/chat Used to get the backlog of chat messages.
-
Response samples Content type application/json
Copy
Expand all Collapse all Update the visibility of chat messages. post /api/integrations/chat/updatemessagevisibility
/api/integrations/chat/updatemessagevisibility
Pass an array of IDs you want to change the chat visibility of.
+
Response samples Content type application/json
Copy
Expand all Collapse all [ { "connectedAt" : "2020-10-06T23:20:44.588649-07:00" ,
"messageCount" : 3 ,
"userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" ,
"ipAddress" : "172.217.164.110" ,
"username" : "coolperson42" ,
"clientID" : "2ba20dd34f911c198df3218ddc64c740" ,
} ]
Historical Chat Messages get /api/integrations/chat Used to get the backlog of chat messages.
+
Response samples Content type application/json
Copy
Expand all Collapse all Update the visibility of chat messages. post /api/integrations/chat/updatemessagevisibility
/api/integrations/chat/updatemessagevisibility
Pass an array of IDs you want to change the chat visibility of.
Request Body schema: application/json
visible boolean
Are these messages visible.
idArray
Responses 200 Operation Success/Failure Response
- Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Example Operation succeeded.
Operation failed.
Copy
Expand all Collapse all Information The client configuration. Information useful for the user interface.
-
Response samples Content type application/json
Copy
Expand all Collapse all { "name" : "string" ,
"summary" : "string" ,
"logo" : "string" ,
"extraPageContent" : "<p>This page is <strong>super</strong> cool!" ,
"version" : "Owncast v0.0.3-macOS (ef3796a033b32a312ebf5b334851cbf9959e7ecb)"
}
Current Status This endpoint is used to discover when a server is broadcasting, the number of active viewers as well as other useful information for updating the user interface.
-
Response samples Content type application/json
Copy
Expand all Collapse all { "lastConnectTime" : "2020-10-03T21:36:22-05:00" ,
"lastDisconnectTime" : null ,
"online" : true ,
"overallMaxViewerCount" : 420 ,
"sessionMaxViewerCount" : 12 ,
"viewerCount" : 7
}
Yellow Pages Information Information to be used in the Yellow Pages service, a global directory of Owncast servers.
-
Response samples Content type application/json
Copy
Expand all Collapse all { "name" : "string" ,
"description" : "string" ,
"logo" : "string" ,
"nsfw" : true ,
"online" : true ,
"viewerCount" : 0 ,
"overallMaxViewerCount" : 0 ,
"sessionMaxViewerCount" : 0 ,
"lastConnectTime" : "2019-08-24T14:15:22Z"
}
+ Request samples Content type application/json
Copy
Expand all Collapse all Response samples Content type application/json
Example Operation succeeded.
Operation failed.
Copy
Expand all Collapse all Information The client configuration. Information useful for the user interface.
+
Response samples Content type application/json
Copy
Expand all Collapse all { "name" : "string" ,
"summary" : "string" ,
"logo" : "string" ,
"extraPageContent" : "<p>This page is <strong>super</strong> cool!" ,
"version" : "Owncast v0.0.3-macOS (ef3796a033b32a312ebf5b334851cbf9959e7ecb)"
}
Current Status This endpoint is used to discover when a server is broadcasting, the number of active viewers as well as other useful information for updating the user interface.
+
Response samples Content type application/json
Copy
Expand all Collapse all { "lastConnectTime" : "2020-10-03T21:36:22-05:00" ,
"lastDisconnectTime" : null ,
"online" : true ,
"overallMaxViewerCount" : 420 ,
"sessionMaxViewerCount" : 12 ,
"viewerCount" : 7
}
Yellow Pages Information Information to be used in the Yellow Pages service, a global directory of Owncast servers.
+
Response samples Content type application/json
Copy
Expand all Collapse all { "name" : "string" ,
"description" : "string" ,
"logo" : "string" ,
"nsfw" : true ,
"online" : true ,
"viewerCount" : 0 ,
"overallMaxViewerCount" : 0 ,
"sessionMaxViewerCount" : 0 ,
"lastConnectTime" : "2019-08-24T14:15:22Z"
}