TypeScript
import { Livepeer } from "livepeer";
const livepeer = new Livepeer({
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await livepeer.multistream.update({
url: "rtmps://live.my-service.tv/channel/secretKey",
}, "<id>");
// Handle the result
console.log(result);
}
run();package main
import(
livepeergo "github.com/livepeer/livepeer-go"
"context"
"github.com/livepeer/livepeer-go/models/components"
"log"
)
func main() {
s := livepeergo.New(
livepeergo.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
ctx := context.Background()
res, err := s.Multistream.Update(ctx, "<id>", components.MultistreamTargetPatchPayload{
URL: "rtmps://live.my-service.tv/channel/secretKey",
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}from livepeer import Livepeer
s = Livepeer(
api_key="<YOUR_BEARER_TOKEN_HERE>",
)
res = s.multistream.update(id="<id>", multistream_target_patch_payload={
"url": "rtmps://live.my-service.tv/channel/secretKey",
})
if res is not None:
# handle response
passcurl --request PATCH \
--url https://livepeer.studio/api/multistream/target/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"url": "rtmps://live.my-service.tv/channel/secretKey",
"disabled": true
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
url: 'rtmps://live.my-service.tv/channel/secretKey',
disabled: true
})
};
fetch('https://livepeer.studio/api/multistream/target/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://livepeer.studio/api/multistream/target/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'url' => 'rtmps://live.my-service.tv/channel/secretKey',
'disabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://livepeer.studio/api/multistream/target/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n \"disabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://livepeer.studio/api/multistream/target/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n \"disabled\": true\n}"
response = http.request(request)
puts response.read_body{
"errors": [
[
"id not provided",
"Account not found"
]
]
}Multistream target
Update a multistream
PATCH
/
multistream
/
target
/
{id}
TypeScript
import { Livepeer } from "livepeer";
const livepeer = new Livepeer({
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await livepeer.multistream.update({
url: "rtmps://live.my-service.tv/channel/secretKey",
}, "<id>");
// Handle the result
console.log(result);
}
run();package main
import(
livepeergo "github.com/livepeer/livepeer-go"
"context"
"github.com/livepeer/livepeer-go/models/components"
"log"
)
func main() {
s := livepeergo.New(
livepeergo.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
ctx := context.Background()
res, err := s.Multistream.Update(ctx, "<id>", components.MultistreamTargetPatchPayload{
URL: "rtmps://live.my-service.tv/channel/secretKey",
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}from livepeer import Livepeer
s = Livepeer(
api_key="<YOUR_BEARER_TOKEN_HERE>",
)
res = s.multistream.update(id="<id>", multistream_target_patch_payload={
"url": "rtmps://live.my-service.tv/channel/secretKey",
})
if res is not None:
# handle response
passcurl --request PATCH \
--url https://livepeer.studio/api/multistream/target/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"url": "rtmps://live.my-service.tv/channel/secretKey",
"disabled": true
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
url: 'rtmps://live.my-service.tv/channel/secretKey',
disabled: true
})
};
fetch('https://livepeer.studio/api/multistream/target/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://livepeer.studio/api/multistream/target/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'url' => 'rtmps://live.my-service.tv/channel/secretKey',
'disabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.patch("https://livepeer.studio/api/multistream/target/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n \"disabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://livepeer.studio/api/multistream/target/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"url\": \"rtmps://live.my-service.tv/channel/secretKey\",\n \"disabled\": true\n}"
response = http.request(request)
puts response.read_body{
"errors": [
[
"id not provided",
"Account not found"
]
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the multistream target
Body
application/json
Livepeer-compatible multistream target URL (RTMP(S) or SRT)
Pattern:
^(srt|rtmps?)://Example:
"rtmps://live.my-service.tv/channel/secretKey"
If true then this multistream target will not be used for pushing even if it is configured in a stream object.
Response
Success
Last modified on March 18, 2026
Was this page helpful?
⌘I