Skip to main content
POST
/
api
/
v1
/
misc
/
youtube
/
playlist
Create a new playlist
curl --request POST \
  --url https://api.bundle.social/api/v1/misc/youtube/playlist \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "teamId": "<string>",
  "title": "<string>",
  "description": "<string>"
}
'
import requests

url = "https://api.bundle.social/api/v1/misc/youtube/playlist"

payload = {
"teamId": "<string>",
"title": "<string>",
"description": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({teamId: '<string>', title: '<string>', description: '<string>'})
};

fetch('https://api.bundle.social/api/v1/misc/youtube/playlist', 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://api.bundle.social/api/v1/misc/youtube/playlist",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'teamId' => '<string>',
'title' => '<string>',
'description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.bundle.social/api/v1/misc/youtube/playlist"

payload := strings.NewReader("{\n \"teamId\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-api-key", "<api-key>")
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))

}
HttpResponse<String> response = Unirest.post("https://api.bundle.social/api/v1/misc/youtube/playlist")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"teamId\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.bundle.social/api/v1/misc/youtube/playlist")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"teamId\": \"<string>\",\n \"title\": \"<string>\",\n \"description\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "kind": "<string>",
  "etag": "<string>",
  "id": "<string>",
  "snippet": {
    "publishedAt": "<string>",
    "channelId": "<string>",
    "title": "<string>",
    "description": "<string>",
    "channelTitle": "<string>",
    "thumbnails": {
      "default": {
        "url": "<string>",
        "width": 123,
        "height": 123
      },
      "medium": {
        "url": "<string>",
        "width": 123,
        "height": 123
      },
      "high": {
        "url": "<string>",
        "width": 123,
        "height": 123
      },
      "standard": {
        "url": "<string>",
        "width": 123,
        "height": 123
      },
      "maxres": {
        "url": "<string>",
        "width": 123,
        "height": 123
      }
    },
    "localized": {
      "title": "<string>",
      "description": "<string>"
    }
  },
  "status": {
    "privacyStatus": "<string>"
  },
  "contentDetails": {
    "itemCount": 123
  }
}
{
"message": "<string>",
"statusCode": 123,
"issues": [
{
"message": "<string>",
"path": [
"<string>"
]
}
]
}
{
"message": "<string>",
"statusCode": 123
}
{
"message": "<string>",
"statusCode": 123
}
{
"message": "<string>",
"statusCode": 123
}
{
"message": "<string>",
"statusCode": 123
}
{
"message": "<string>",
"statusCode": 123
}

Authorizations

x-api-key
string
header
required

Body

application/json

Body

teamId
string
required
title
string
required

bundle.social does not store this value and YouTube overites it everytime so you need to pass it everytime

description
string
required

bundle.social does not store this value and YouTube overites it everytime so you need to pass it everytime

privacyStatus
enum<string>
Available options:
public,
unlisted,
private

Response

200

kind
string
etag
string
id
string
snippet
object
status
object
contentDetails
object