Update Webhook Endpoint
curl --request PUT \
--url https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks/tenbyte",
"name": "Video processing events",
"events": [
"uploaded",
"downloading"
]
}
'import requests
url = "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}"
payload = {
"url": "https://example.com/webhooks/tenbyte",
"name": "Video processing events",
"events": ["uploaded", "downloading"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/webhooks/tenbyte',
name: 'Video processing events',
events: ['uploaded', 'downloading']
})
};
fetch('https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.put("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com/webhooks/tenbyte',
'name' => 'Video processing events',
'events' => [
'uploaded',
'downloading'
]
]),
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;
}{
"data": {
"updated_at": "2025-10-15T13:18:25.690910108+06:00",
"created_at": "2025-10-15T13:06:54.816373+06:00",
"library_id": "78542c6f-0dc1-4859-a122-35ad6f139827",
"updated_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"created_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"headers": null,
"name": "Video processing events",
"url": "https://example.com/webhooks/vidinfra",
"events": [
"uploaded",
"transcoded"
],
"id": "8e5f8558-50dc-453f-9c36-4e4e9033b36a",
"organization_id": "677826f5-1aea-4cba-8973-043cdbc60f35",
"is_active": true
},
"message": "Webhook Endpoint Updated Successfully",
"success": true
}{
"message": "Invalid Request",
"success": false
}{
"code": "auth_type_not_found",
"message": "Could not determine authentication type from request. Please provide a valid Authorization header or X-API-Key header.",
"success": false
}{
"message": "Resource not found",
"success": false
}{
"message": "Invalid Request",
"errors": [
{
"field": "field_name",
"code": "validation_required",
"message": "This field is required"
}
],
"success": false
}{
"message": "Internal server error",
"success": false
}Webhook Endpoints
Update Webhook Endpoint
Update an existing webhook endpoint. You can modify its description, event subscriptions, or status (active, paused, disabled).
PUT
/
libraries
/
{libraryId}
/
webhooks
/
endpoints
/
{endpointId}
Update Webhook Endpoint
curl --request PUT \
--url https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "https://example.com/webhooks/tenbyte",
"name": "Video processing events",
"events": [
"uploaded",
"downloading"
]
}
'import requests
url = "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}"
payload = {
"url": "https://example.com/webhooks/tenbyte",
"name": "Video processing events",
"events": ["uploaded", "downloading"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://example.com/webhooks/tenbyte',
name: 'Video processing events',
events: ['uploaded', 'downloading']
})
};
fetch('https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}"
payload := strings.NewReader("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}"
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.put("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"url\": \"https://example.com/webhooks/tenbyte\",\n \"name\": \"Video processing events\",\n \"events\": [\n \"uploaded\",\n \"downloading\"\n ]\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tenbyte.io/v1/vidinfra/libraries/{libraryId}/webhooks/endpoints/{endpointId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com/webhooks/tenbyte',
'name' => 'Video processing events',
'events' => [
'uploaded',
'downloading'
]
]),
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;
}{
"data": {
"updated_at": "2025-10-15T13:18:25.690910108+06:00",
"created_at": "2025-10-15T13:06:54.816373+06:00",
"library_id": "78542c6f-0dc1-4859-a122-35ad6f139827",
"updated_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"created_by": "2fa3fe27-ffcd-470b-becf-83f6f22a93ab",
"headers": null,
"name": "Video processing events",
"url": "https://example.com/webhooks/vidinfra",
"events": [
"uploaded",
"transcoded"
],
"id": "8e5f8558-50dc-453f-9c36-4e4e9033b36a",
"organization_id": "677826f5-1aea-4cba-8973-043cdbc60f35",
"is_active": true
},
"message": "Webhook Endpoint Updated Successfully",
"success": true
}{
"message": "Invalid Request",
"success": false
}{
"code": "auth_type_not_found",
"message": "Could not determine authentication type from request. Please provide a valid Authorization header or X-API-Key header.",
"success": false
}{
"message": "Resource not found",
"success": false
}{
"message": "Invalid Request",
"errors": [
{
"field": "field_name",
"code": "validation_required",
"message": "This field is required"
}
],
"success": false
}{
"message": "Internal server error",
"success": false
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the library.
Unique identifier of the targeted endpoint resource.
Body
application/json
The destination URL where webhook events will be sent.
A descriptive name for the webhook endpoint, used for identification.
List of event types that will trigger this webhook (e.g., 'video.created', 'transcoding.completed').
Optional secret key used to sign webhook payloads for verification and security.
⌘I