Delete Caption
curl --request DELETE \
--url https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang} \
--header 'AccessKey: <api-key>'import requests
url = "https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}"
headers = {"AccessKey": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {AccessKey: '<api-key>'}};
fetch('https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}', 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://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("AccessKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}Manage Videos
Delete Caption
DELETE
/
library
/
{libraryId}
/
videos
/
{videoId}
/
captions
/
{srclang}
Delete Caption
curl --request DELETE \
--url https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang} \
--header 'AccessKey: <api-key>'import requests
url = "https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}"
headers = {"AccessKey": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {AccessKey: '<api-key>'}};
fetch('https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}', 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://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("AccessKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://video.bunnycdn.com/library/{libraryId}/videos/{videoId}/captions/{srclang}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}{
"success": true,
"message": "<string>",
"statusCode": 123
}Authorizations
AccessKey based authentication
Path Parameters
The ID of the video library.
The GUID of the video.
The srclang shortcode of the caption to delete, e.g. "en".
Response
The caption was successfully deleted
Last modified on September 10, 2026
Was this page helpful?