Update video chapters
/videos/{videoId}/chaptersReplace all chapters for a video (atomic PUT operation) using API key authentication
Authorization
ApiKeyAuth Internal API key for service-to-service communication.
In: header
Path Parameters
Video ID
Request Body
requiredapplication/json{
"chapters": [
{
"start_time_sec": 0,
"title": "string"
}
]
}Response Body
200application/json
OK
type: object
400application/json
Invalid request body or video duration not available
type: object
HTTP status code
Optional details about the error
Error message describing what went wrong
401application/json
Unauthorized - Invalid API key
type: object
HTTP status code
Optional details about the error
Error message describing what went wrong
403application/json
Access denied
type: object
HTTP status code
Optional details about the error
Error message describing what went wrong
404application/json
Video not found
type: object
HTTP status code
Optional details about the error
Error message describing what went wrong
500application/json
Failed to update chapters
type: object
HTTP status code
Optional details about the error
Error message describing what went wrong
curl -X PUT "https://api.rixl.com/videos/V3idRI23XL/chapters" \
-H "Content-Type: application/json" \
-d '{}'const body = JSON.stringify({})
fetch("https://api.rixl.com/videos/V3idRI23XL/chapters", {
method: "PUT",
headers: {
"Content-Type": "application/json"
},
body
})package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://api.rixl.com/videos/V3idRI23XL/chapters"
body := strings.NewReader(`{}`)
req, _ := http.NewRequest("PUT", url, body)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://api.rixl.com/videos/V3idRI23XL/chapters"
body = """{}"""
response = requests.request("PUT", url, data = body, headers = {
"Content-Type": "application/json"
})
print(response.text)import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;
var body = BodyPublishers.ofString("""{}""");
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://api.rixl.com/videos/V3idRI23XL/chapters"))
.header("Content-Type", "application/json")
.PUT(body)
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}using System;
using System.Net.Http;
using System.Text;
var body = new StringContent("""
{}
""", Encoding.UTF8, "application/json");
var client = new HttpClient();
var response = await client.PutAsync("https://api.rixl.com/videos/V3idRI23XL/chapters", body);
var responseBody = await response.Content.ReadAsStringAsync();OK
application/json
{
"chapters": [
{
"duration_label": "02:25",
"end_time_sec": 145,
"start_time_sec": 0,
"title": "Introduction"
}
],
"video_id": "x8n2p5v9k7"
}Invalid request body or video duration not available
application/json
{
"code": 400,
"details": "The provided ID is not valid",
"error": "Invalid request body or video duration not available"
}Unauthorized - Invalid API key
application/json
{
"code": 401,
"details": "The provided ID is not valid",
"error": "Unauthorized - Invalid API key"
}Access denied
application/json
{
"code": 403,
"details": "The provided ID is not valid",
"error": "Access denied"
}Video not found
application/json
{
"code": 404,
"details": "The provided ID is not valid",
"error": "Video not found"
}Failed to update chapters
application/json
{
"code": 500,
"details": "The provided ID is not valid",
"error": "Failed to update chapters"
}