Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion theolive/api/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ import SidebarCategoryDocCardList from '@site/src/components/SidebarCategoryDocC
THEOlive provides a REST API to manage channels, receive events, create reports, and set up webhooks.

Alternatively, you can perform the most common actions directly from the THEOlive management console.
See [our getting started guide](/theolive/getting-started.mdx) for more information.
See [our getting started guide](../getting-started.mdx) for more information.

<SidebarCategoryDocCardList />
4 changes: 2 additions & 2 deletions theolive/contribution/software-encoders/obs.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ sidebar_label: OBS
See the official [obsproject.com](https://obsproject.com) documentation for installation instructions and additional support about using OBS.

:::tip Getting Started
If you haven't already, begin by following the [Getting Started](/theolive/getting-started.mdx) tutorial to create a THEOlive channel and start your first broadcast.
If you haven't already, begin by following the [Getting Started](../../getting-started.mdx) tutorial to create a THEOlive channel and start your first broadcast.
:::

## Setting up a broadcast
Expand Down Expand Up @@ -60,7 +60,7 @@ Hit apply on settings, close the window, and click on _Start Streaming_ in the _

Your THEOlive channel must be started in order to receive video ingest from OBS. You can choose to start up your channel before or after you start streaming via OBS.

Starting a channel can be done either [through the API](/theolive/api/channels/start-channel) or via [the console](https://console.theo.live/).
Starting a channel can be done either [through the API](../../api/start-a-channel-by-id.api.mdx) or via [the console](https://console.theo.live/).

![Start your channel](../../assets/img/consolechannelstart.png)

Expand Down
2 changes: 1 addition & 1 deletion theolive/contribution/software-encoders/vmix.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ You can now save and exit out of all the _Streaming Settings_ menus and click th

## 4. Start your THEOlive channel

This can be done either through the [API](/theolive/api/channels/start-channel) or via the [management console](https://console.theo.live/).
This can be done either through the [API](../../api/start-a-channel-by-id.api.mdx) or via the [management console](https://console.theo.live/).
2 changes: 1 addition & 1 deletion theolive/contribution/software-encoders/wirecast.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,4 @@ Click the "Stream" button. Wirecast will make a connection to the THEOlive RTMP

## 4. Start your THEOlive channel

This can be done either through the [API](/theolive/api/channels/start-channel) or via the [management console](https://console.theo.live/).
This can be done either through the [API](../../api/start-a-channel-by-id.api.mdx) or via the [management console](https://console.theo.live/).
2 changes: 1 addition & 1 deletion theolive/contribution/stream-configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ THEOlive offers pre-defined ABR profiles (or "presets") which allows you to adju

## Setting the stream configuration via the `streamConfig` object

The goal is to pass a `streamConfig` object during the [creation](/theolive/api/channels/create-channel) of a channel, or when [updating](/theolive/api/channels/update-channel) it. This object consists of:
The goal is to pass a `streamConfig` object during the [creation](../api/create-a-new-channel.api.mdx) of a channel, or when [updating](../api/update-a-channel-by-id.api.mdx) it. This object consists of:

- `bitrate`: the max bitrate value that will be used in Mbps.
- `resolution`: the max resolution that will be used. Possible values: `"1080p"`, `"720p"`, `"576p"`, `"480p"`.
Expand Down
10 changes: 5 additions & 5 deletions theolive/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_label: Getting started

# Backend

THEOlive provides a REST API to manage channels, configure them and start / stop them. Each possible call can be found at our [API Reference](/theolive/api/channels/create-channel).
THEOlive provides a REST API to manage channels, configure them and start / stop them. Each possible call can be found at our [API Reference](./api/create-a-new-channel.api.mdx).

However, to make things easier for non-developers, we built a management console on top of these API calls which makes it straightforward to perform the basic actions. To be able to create and use a THEOlive channel, you should register for an account and get a token to perform [authenticated requests](./platform/authorization.mdx) to our API.

Expand All @@ -19,7 +19,7 @@ Once you've entered your username and password, you can already create your firs

:::info 📘 API reference

This guide describes how to get started with the THEOlive management console. Please consult the [API reference](/theolive/api/channels/create-channel) and [Authorization](./platform/authorization.mdx) if you would like to work with API calls.
This guide describes how to get started with the THEOlive management console. Please consult the [API reference](./api/create-a-new-channel.api.mdx) and [Authorization](./platform/authorization.mdx) if you would like to work with API calls.
:::

## 2. Create your first channel
Expand All @@ -32,7 +32,7 @@ When hitting 'Create', you will be navigated towards the Details page of your ne

![](assets/img/467abb8-overview.PNG 'Management console: Details page with the possibility to start your channel and options to customize your player.')

A channel can also be created through an API call to the `channels` endpoint, passing an ingest location and a name. It will return an `id` that you can use to start, stop, update or delete the channel later on. Also, a `streamKey` and `rtmpPushUrl` will be returned to stream your content to. More information about the Create channel endpoint and how to pass advanced properties can be found [here](/theolive/api/channels/create-channel).
A channel can also be created through an API call to the `channels` endpoint, passing an ingest location and a name. It will return an `id` that you can use to start, stop, update or delete the channel later on. Also, a `streamKey` and `rtmpPushUrl` will be returned to stream your content to. More information about the Create channel endpoint and how to pass advanced properties can be found [here](./api/create-a-new-channel.api.mdx).

```curl
curl --location --request POST 'https://api.theo.live/channels'
Expand Down Expand Up @@ -95,7 +95,7 @@ You can easily start your channel on the channel details page, by clicking on th

![](assets/img/cbe288c-start.PNG)

In the background this will make a `POST` request to the `channels/start` endpoint. You can also start a channel via the Start channel API call, for which you can find more information [here](/theolive/api/channels/start-channel). As mentioned in the last section, you can optionally pass the `rtmpPullUrl` property in the body of the request for pull-based streaming. Don't forget to stop streaming when you are done!
In the background this will make a `POST` request to the `channels/start` endpoint. You can also start a channel via the Start channel API call, for which you can find more information [here](./api/start-a-channel-by-id.api.mdx). As mentioned in the last section, you can optionally pass the `rtmpPullUrl` property in the body of the request for pull-based streaming. Don't forget to stop streaming when you are done!

```curl
curl --location --request POST 'https://api.theo.live/channels/{channel-id}/start' \
Expand All @@ -108,7 +108,7 @@ curl --location --request POST 'https://api.theo.live/channels/{channel-id}/star

## 6. Stop the channel

Have you finished your real-time streaming? Make sure to stop your channel by making a request to the `channels/stop` endpoint, either through a [Stop channel](/theolive/api/channels/stop-channel) API call or by pressing the red "stop" button in the management console.
Have you finished your real-time streaming? Make sure to stop your channel by making a request to the `channels/stop` endpoint, either through a [Stop channel](./api/stop-a-channel-by-id.api.mdx) API call or by pressing the red "stop" button in the management console.

```curl
curl --location --request POST 'https://api.theo.live/channels/{channel-id}/stop' \
Expand Down
4 changes: 2 additions & 2 deletions theolive/platform/multi-channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@ THEOlive also offers an API endpoint where you can query the minutes viewed on a

Creating channel aliases can serve useful in a couple of different ways. Here are a couple of examples where creating a channel alias can simplify your workflow

- Creating a stream that requires multiple stream [redundancy](/theolive/platform/redundancy/) or fallback solutions
- Creating a stream that requires different [geo-blocking](/theolive/platform/security/geo-blocking) rules for different countries
- Creating a stream that requires multiple stream [redundancy](./redundancy.md) or fallback solutions
- Creating a stream that requires different [geo-blocking](./security/geo-blocking.md) rules for different countries
4 changes: 2 additions & 2 deletions theolive/platform/redundancy.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ In what follows, we describe the approach to set a fallback for one channel.

## 1. Create two channels and start them.

You'll need to create two THEOlive channels via the [API](/theolive/api/channels/create-channel) or [management console](https://console.theo.live/). Let's say for example that we have the following channels with fictive IDs:
You'll need to create two THEOlive channels via the [API](../api/create-a-new-channel.api.mdx) or [management console](https://console.theo.live/). Let's say for example that we have the following channels with fictive IDs:

- Channel `<channel-in-us-west>` which is located in the `us-west` region
- Channel `<channel-in-us-east>` which is located in the `us-east` region
Expand Down Expand Up @@ -52,7 +52,7 @@ This will work as follows:
5. This process will continue to work this way. If both streams are unavailable, the pre-live settings will be shown (an announcement message and optionally a poster image too).
6. When the primary channel is stopped, all players will stop playing (even if the fallback channel is still streaming).

For more information, please visit our [API Reference](/theolive/api/channels/update-channel).
For more information, please visit our [API Reference](../api/update-a-channel-by-id.api.mdx).

Note that the fallback can also easily be set in our management console on the Channel Details page. Scroll down to the **Playout Configurations** section and select the _Fallback_ tab.

Expand Down
6 changes: 3 additions & 3 deletions theolive/platform/security/geo-blocking.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Geo-blocking

Geo-blocking refers to the action of restricting ("blacklisting") or allowing ("whitelisting") access to certain content based on the geographical location of the user. Filtering can be allowed or denied by countries as well as [IP addresses](/theolive/platform/security/ip-blocking). Geo-blocking enables content providers to adhere to specific licensing agreements and distribution rights, protect copyrighted material, or service another layer of privacy when working on private content.
Geo-blocking refers to the action of restricting ("blacklisting") or allowing ("whitelisting") access to certain content based on the geographical location of the user. Filtering can be allowed or denied by countries as well as [IP addresses](./ip-blocking.md). Geo-blocking enables content providers to adhere to specific licensing agreements and distribution rights, protect copyrighted material, or service another layer of privacy when working on private content.

Geo-blocking can be configured via the API or the console.

## Geo-blocking via the API

### Main channel

You can enable geo-blocking on a channel by [updating](/theolive/api/channels/update-channel) the `geoBlocking` object within `publicationConfig`. The `mode` of geo-blocking can also be configured:
You can enable geo-blocking on a channel by [updating](../../api/update-a-channel-by-id.api.mdx) the `geoBlocking` object within `publicationConfig`. The `mode` of geo-blocking can also be configured:

- `whitelist`: Used by default when no `mode` is passed. This will make the content only available in the countries that have been specified in the `countries` property. Countries not listed in the `countries` property will not receive the stream.
- `blacklist`: Blocks the content in the countries that have been specified in the `countries` property. All other countries not specified in the `countries` property will be able to view the content.
Expand Down Expand Up @@ -63,7 +63,7 @@ If you would like to make your content available anywhere **except** Belgium, yo

### Channel alias

Geo-blocking can also be done on a [channel alias](/theolive/platform/multi-channel) using the specified channel alias [endpoint](/theolive/api/channels/update-channel-alias) or via the console.
Geo-blocking can also be done on a [channel alias](../multi-channel.md) using the specified channel alias [endpoint](/theolive/api/channels/update-channel-alias) or via the console.
Copy link
Collaborator Author

@MattiasBuelens MattiasBuelens Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are V1 APIs that do not have an equivalent V2 API. For example, update-channel-alias only exists in V1. Hence, this V2 doc still (incorrectly) links to a V1 API.

@jeroentempels-dolby I assume that these docs will eventually be rewritten for V2? One trick you can use to quickly find still-to-be-fixed Markdown links is to grep for ](/theolive/ across the repo. 😉


## Geo-blocking on main channel and alias

Expand Down
6 changes: 3 additions & 3 deletions theolive/platform/security/ip-blocking.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# IP-blocking

IP-blocking (or IP-banning) refers to a security measure that restricts access to content for specific IP addresses. Filtering can be allowed or denied by IP addresses or by [countries](/theolive/platform/security/geo-blocking) as well. Only IPv4 and IPv6 CIDRs (Classless Inter-Domain Routing) are allowed.
IP-blocking (or IP-banning) refers to a security measure that restricts access to content for specific IP addresses. Filtering can be allowed or denied by IP addresses or by [countries](./geo-blocking.md) as well. Only IPv4 and IPv6 CIDRs (Classless Inter-Domain Routing) are allowed.

IP-blocking can be configured via the API or the console.

## IP-blocking via the API

### Main channel

You can enable IP-blocking on a channel by [updating](/theolive/api/channels/update-channel) the `ipBlocking` object within `publicationConfig`. The `mode` of geo-blocking can also be configured:
You can enable IP-blocking on a channel by [updating](../../api/update-a-channel-by-id.api.mdx) the `ipBlocking` object within `publicationConfig`. The `mode` of geo-blocking can also be configured:

- `whitelist`: Used by default when no `mode` is passed. This will make the content only available for the CIDRs that have been specified in the `cidrs` property. CIDRs not listed in the `cidrs` property will not receive the stream.
- `blacklist`: Blocks the content for the CIDRs that have been specified in the `cidrs` property. All CIDRs not specified in the `cidrs` property will be able to view the content.
Expand All @@ -29,7 +29,7 @@ For example: If you want to restrict certain CIDRs from viewing your content, yo

### Channel Alias

IP-blocking can also be done on a [channel alias](/theolive/platform/multi-channel) using the specified channel alias [endpoint](/theolive/api/channels/update-channel-alias) or via the console.
IP-blocking can also be done on a [channel alias](../multi-channel.md) using the specified channel alias [endpoint](/theolive/api/channels/update-channel-alias) or via the console.

## IP-blocking via the console

Expand Down
2 changes: 1 addition & 1 deletion theolive/playback/android/token-based-security.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_position: 2

# Token based security

THEOlive offers the option to enable JWT token security on a distribution (formerly referred to as an alias) level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](/theolive/platform/security/token-based-security).
THEOlive offers the option to enable JWT token security on a distribution (formerly referred to as an alias) level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](../../platform/security/token-based-security.mdx).

This page will demonstrate how to configure the Android SDK for playback of channels with token based security enabled.

Expand Down
2 changes: 1 addition & 1 deletion theolive/playback/react-native/token-based-security.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Token based security

THEOlive offers the option to enable JWT token security on channel distribution level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](/theolive/platform/security/token-based-security).
THEOlive offers the option to enable JWT token security on channel distribution level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](../../platform/security/token-based-security.mdx).

This page will demonstrate how to configure the React Native Player SDK for playback of channels with token based security enabled.

Expand Down
2 changes: 1 addition & 1 deletion theolive/playback/roku/00-getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ m.player.callFunc("configure", playerConfiguration)
## More information

- [API references](/theoplayer/api-reference/roku)
- [Migrating to THEOlive v2](/theolive/playback/roku/02-migrating-to-v2.mdx)
- [Migrating to THEOlive v2](./02-migrating-to-v2.mdx)
2 changes: 1 addition & 1 deletion theolive/playback/roku/01-token-based-security.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Token based security

THEOlive offers the option to enable JWT token security on channel distribution level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](/theolive/platform/security/token-based-security).
THEOlive offers the option to enable JWT token security on channel distribution level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](../../platform/security/token-based-security.mdx).

This page will demonstrate how to configure the Roku Player SDK for playback of channels with token based security enabled.

Expand Down
2 changes: 1 addition & 1 deletion theolive/playback/web/token-based-security.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sidebar_position: 6

# Token based security

THEOlive offers the option to enable JWT token security on a distribution (formerly referred to as an alias) level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](/theolive/platform/security/token-based-security).
THEOlive offers the option to enable JWT token security on a distribution (formerly referred to as an alias) level. This can be interesting if you only want valid users to access your stream. Read more about the feature and configuring it on your channels on the [token based security guide](../../platform/security/token-based-security.mdx).

This page will demonstrate how to configure the Web SDK for playback of channels with token based security enabled.

Expand Down
2 changes: 1 addition & 1 deletion theolive_versioned_docs/version-v1/api/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ import SidebarCategoryDocCardList from '@site/src/components/SidebarCategoryDocC
THEOlive provides a REST API to manage channels, receive events, create reports, and set up webhooks.

Alternatively, you can perform the most common actions directly from the THEOlive management console.
See [our getting started guide](/theolive/getting-started.mdx) for more information.
See [our getting started guide](../getting-started.mdx) for more information.

<SidebarCategoryDocCardList />
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ sidebar_label: OBS
See the official [obsproject.com](https://obsproject.com) documentation for installation instructions and additional support about using OBS.

:::tip Getting Started
If you haven't already, begin by following the [Getting Started](/theolive/getting-started.mdx) tutorial to create a THEOlive channel and start your first broadcast.
If you haven't already, begin by following the [Getting Started](../../getting-started.mdx) tutorial to create a THEOlive channel and start your first broadcast.
:::

## Setting up a broadcast
Expand Down Expand Up @@ -60,7 +60,7 @@ Hit apply on settings, close the window, and click on _Start Streaming_ in the _

Your THEOlive channel must be started in order to receive video ingest from OBS. You can choose to start up your channel before or after you start streaming via OBS.

Starting a channel can be done either [through the API](/theolive/api/channels/start-channel) or via [the console](https://console.theo.live/).
Starting a channel can be done either [through the API](../../api/channels/start-channel.api.mdx) or via [the console](https://console.theo.live/).

![Start your channel](../../assets/img/consolechannelstart.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ You can now save and exit out of all the _Streaming Settings_ menus and click th

## 4. Start your THEOlive channel

This can be done either through the [API](/theolive/api/channels/start-channel) or via the [management console](https://console.theo.live/).
This can be done either through the [API](../../api/channels/start-channel.api.mdx) or via the [management console](https://console.theo.live/).
Loading