API DocsVideosUpdate video metadata

Update video metadata

PATCH/api/video/update/:id
videos:write

Update video title or password protection. Available fields:

  • title (string) - Display name for the video
  • password (string | null) - Set a password to protect the video, or null to remove protection

Examples

curl
curl https://flare.link/api/video/update/VIDEO_ID \
  -H "Authorization: Bearer flr_pat_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Launch walkthrough",
    "password": "secret123"
  }'
node
await fetch("https://flare.link/api/video/update/VIDEO_ID", {
  method: "PATCH",
  headers: {
    Authorization: "Bearer flr_pat_...",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    title: "Launch walkthrough",
    password: "secret123"  // or null to remove
  })
});
python
import requests

res = requests.patch(
  "https://flare.link/api/video/update/VIDEO_ID",
  headers={"Authorization": "Bearer flr_pat_..."},
  json={
    "title": "Launch walkthrough",
    "password": "secret123"  # or None to remove
  }
)
print(res.json())
ruby
require "net/http"
require "json"

uri = URI("https://flare.link/api/video/update/VIDEO_ID")
req = Net::HTTP::Patch.new(uri)
req["Authorization"] = "Bearer flr_pat_..."
req["Content-Type"] = "application/json"
req.body = {
  title: "Launch walkthrough",
  password: "secret123"  # or nil to remove
}.to_json
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body
go
package main

import (
  "bytes"
  "fmt"
  "io"
  "net/http"
)

func main() {
  payload := []byte(`{"title":"Launch walkthrough","password":"secret123"}`)
  req, _ := http.NewRequest("PATCH", "https://flare.link/api/video/update/VIDEO_ID", bytes.NewBuffer(payload))
  req.Header.Set("Authorization", "Bearer flr_pat_...")
  req.Header.Set("Content-Type", "application/json")
  resp, _ := http.DefaultClient.Do(req)
  body, _ := io.ReadAll(resp.Body)
  fmt.Println(string(body))
}
php
<?php
$payload = json_encode([
  "title" => "Launch walkthrough",
  "password" => "secret123"  // or null to remove
]);
$ch = curl_init("https://flare.link/api/video/update/VIDEO_ID");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  "Authorization: Bearer flr_pat_...",
  "Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
csharp
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;

using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "flr_pat_...");
var payload = JsonSerializer.Serialize(new {
  title = "Launch walkthrough",
  password = "secret123"  // or null to remove
});
var res = await client.PatchAsync("https://flare.link/api/video/update/VIDEO_ID", new StringContent(payload, Encoding.UTF8, "application/json"));

Expected response

{
  "success": true,
  "video": {
    "id": "VIDEO_ID",
    "title": "Launch walkthrough",
    "isPasswordProtected": true
  }
}