Owncast (0.0.3)

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 master branch.

Authentication

AdminBasicAuth

The username for admin basic auth is admin and the password is the stream key.

Security Scheme Type HTTP
HTTP Authorization Scheme basic

Admin

Admin operations requiring authentication.

Server status and broadcaster

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "broadcaster": {
    },
  • "online": true,
  • "viewerCount": 3,
  • "overallPeakViewerCount": 4,
  • "sessionPeakViewerCount": 4,
  • "versionNumber": "0.0.3",
  • "disableUpgradeChecks": false
}

Disconnect Broadcaster

Disconnect the active inbound stream, if one exists, and terminate the broadcast.

Authorizations:

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "message": "inbound stream disconnected"
}

Return a list of currently connected clients

Return a list of currently connected clients with optional geo details.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Return recent log entries

Returns server logs.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Return recent warning and error logs.

Return recent warning and error logs.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Update Stream Key. Pre-release, do not use.

Change the stream key in memory, but not in the config file. This will require all broadcasters to be reconfigured to connect again.

Authorizations:
Request Body schema: application/json
key
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "changed"
}

Change the extra page content. Pre-release, do not use.

Change the extra page content in memory, but not on disk.

Authorizations:
Request Body schema: application/json
content
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "changed"
}

Server Configuration

Get the current configuration of the Owncast server.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "instanceDetails": {
    },
  • "ffmpegPath": "string",
  • "webServerPort": 0,
  • "s3": {
    },
  • "videoSettings": {
    },
  • "yp": {
    }
}

Viewers Over Time

Get the tracked viewer count over the collected period.

Authorizations:

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Hardware Stats

Get the CPU, Memory and Disk utilization levels over the collected period.

Authorizations:

Responses

Response samples

Content type
application/json
{
  • "cpu": [
    ],
  • "memory": [
    ],
  • "disk": [
    ]
}

Chat

Endpoints related to the chat interface.

Historical Chat Messages

Used to get all chat messages prior to connecting to the websocket.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Custom Emoji

Get a list of custom emoji that are supported in chat.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Server

Information

The client configuration. Information useful for the user interface.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "title": "string",
  • "summary": "string",
  • "logo": "string",
  • "tags": [
    ],
  • "socialHandles": [],
  • "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.

Responses

Response samples

Content type
application/json
{
  • "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.

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "logo": "string",
  • "nsfw": true,
  • "tags": [
    ],
  • "online": true,
  • "viewerCount": 0,
  • "overallMaxViewerCount": 0,
  • "sessionMaxViewerCount": 0,
  • "lastConnectTime": "2019-08-24T14:15:22Z"
}

Pre-release

Update Stream Key. Pre-release, do not use.

Change the stream key in memory, but not in the config file. This will require all broadcasters to be reconfigured to connect again.

Authorizations:
Request Body schema: application/json
key
string

Responses

Request samples

Content type
application/json
{
  • "key": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "changed"
}

Change the extra page content. Pre-release, do not use.

Change the extra page content in memory, but not on disk.

Authorizations:
Request Body schema: application/json
content
string

Responses

Request samples

Content type
application/json
{
  • "content": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "message": "changed"
}