curl --request POST \
--url https://scheduler.dashsocial.com/youtube/scheduled_posts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"brand_id": 1,
"auto_publish": true,
"media_ids": [
1
],
"title": "<string>",
"description": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"declared_made_for_kids": true,
"approval_requests": [
{
"requested_by_user_id": 123,
"review_user_id": 123
}
],
"board_ids": [
1
],
"campaign_ids": [
1
],
"content_tag_ids": [
1
],
"creation_source": "RSS_FEED",
"duplicate_to_brand_ids": [
1
],
"post_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_index": 123,
"subtitle_content": "<string>",
"subtitle_metadata": {
"filename": "<string>"
}
}
'import requests
url = "https://scheduler.dashsocial.com/youtube/scheduled_posts"
payload = {
"brand_id": 1,
"auto_publish": True,
"media_ids": [1],
"title": "<string>",
"description": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"declared_made_for_kids": True,
"approval_requests": [
{
"requested_by_user_id": 123,
"review_user_id": 123
}
],
"board_ids": [1],
"campaign_ids": [1],
"content_tag_ids": [1],
"creation_source": "RSS_FEED",
"duplicate_to_brand_ids": [1],
"post_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_index": 123,
"subtitle_content": "<string>",
"subtitle_metadata": { "filename": "<string>" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
brand_id: 1,
auto_publish: true,
media_ids: [1],
title: '<string>',
description: '<string>',
timestamp: '2023-11-07T05:31:56Z',
declared_made_for_kids: true,
approval_requests: [{requested_by_user_id: 123, review_user_id: 123}],
board_ids: [1],
campaign_ids: [1],
content_tag_ids: [1],
creation_source: 'RSS_FEED',
duplicate_to_brand_ids: [1],
post_group_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
sort_index: 123,
subtitle_content: '<string>',
subtitle_metadata: {filename: '<string>'}
})
};
fetch('https://scheduler.dashsocial.com/youtube/scheduled_posts', 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://scheduler.dashsocial.com/youtube/scheduled_posts",
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([
'brand_id' => 1,
'auto_publish' => true,
'media_ids' => [
1
],
'title' => '<string>',
'description' => '<string>',
'timestamp' => '2023-11-07T05:31:56Z',
'declared_made_for_kids' => true,
'approval_requests' => [
[
'requested_by_user_id' => 123,
'review_user_id' => 123
]
],
'board_ids' => [
1
],
'campaign_ids' => [
1
],
'content_tag_ids' => [
1
],
'creation_source' => 'RSS_FEED',
'duplicate_to_brand_ids' => [
1
],
'post_group_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'sort_index' => 123,
'subtitle_content' => '<string>',
'subtitle_metadata' => [
'filename' => '<string>'
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://scheduler.dashsocial.com/youtube/scheduled_posts"
payload := strings.NewReader("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", 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))
}HttpResponse<String> response = Unirest.post("https://scheduler.dashsocial.com/youtube/scheduled_posts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scheduler.dashsocial.com/youtube/scheduled_posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}Create a YouTube post
Create a new YouTube post.
curl --request POST \
--url https://scheduler.dashsocial.com/youtube/scheduled_posts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"brand_id": 1,
"auto_publish": true,
"media_ids": [
1
],
"title": "<string>",
"description": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"declared_made_for_kids": true,
"approval_requests": [
{
"requested_by_user_id": 123,
"review_user_id": 123
}
],
"board_ids": [
1
],
"campaign_ids": [
1
],
"content_tag_ids": [
1
],
"creation_source": "RSS_FEED",
"duplicate_to_brand_ids": [
1
],
"post_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_index": 123,
"subtitle_content": "<string>",
"subtitle_metadata": {
"filename": "<string>"
}
}
'import requests
url = "https://scheduler.dashsocial.com/youtube/scheduled_posts"
payload = {
"brand_id": 1,
"auto_publish": True,
"media_ids": [1],
"title": "<string>",
"description": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"declared_made_for_kids": True,
"approval_requests": [
{
"requested_by_user_id": 123,
"review_user_id": 123
}
],
"board_ids": [1],
"campaign_ids": [1],
"content_tag_ids": [1],
"creation_source": "RSS_FEED",
"duplicate_to_brand_ids": [1],
"post_group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"sort_index": 123,
"subtitle_content": "<string>",
"subtitle_metadata": { "filename": "<string>" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
brand_id: 1,
auto_publish: true,
media_ids: [1],
title: '<string>',
description: '<string>',
timestamp: '2023-11-07T05:31:56Z',
declared_made_for_kids: true,
approval_requests: [{requested_by_user_id: 123, review_user_id: 123}],
board_ids: [1],
campaign_ids: [1],
content_tag_ids: [1],
creation_source: 'RSS_FEED',
duplicate_to_brand_ids: [1],
post_group_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
sort_index: 123,
subtitle_content: '<string>',
subtitle_metadata: {filename: '<string>'}
})
};
fetch('https://scheduler.dashsocial.com/youtube/scheduled_posts', 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://scheduler.dashsocial.com/youtube/scheduled_posts",
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([
'brand_id' => 1,
'auto_publish' => true,
'media_ids' => [
1
],
'title' => '<string>',
'description' => '<string>',
'timestamp' => '2023-11-07T05:31:56Z',
'declared_made_for_kids' => true,
'approval_requests' => [
[
'requested_by_user_id' => 123,
'review_user_id' => 123
]
],
'board_ids' => [
1
],
'campaign_ids' => [
1
],
'content_tag_ids' => [
1
],
'creation_source' => 'RSS_FEED',
'duplicate_to_brand_ids' => [
1
],
'post_group_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'sort_index' => 123,
'subtitle_content' => '<string>',
'subtitle_metadata' => [
'filename' => '<string>'
]
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://scheduler.dashsocial.com/youtube/scheduled_posts"
payload := strings.NewReader("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", 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))
}HttpResponse<String> response = Unirest.post("https://scheduler.dashsocial.com/youtube/scheduled_posts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scheduler.dashsocial.com/youtube/scheduled_posts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"media_ids\": [\n 1\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"declared_made_for_kids\": true,\n \"approval_requests\": [\n {\n \"requested_by_user_id\": 123,\n \"review_user_id\": 123\n }\n ],\n \"board_ids\": [\n 1\n ],\n \"campaign_ids\": [\n 1\n ],\n \"content_tag_ids\": [\n 1\n ],\n \"creation_source\": \"RSS_FEED\",\n \"duplicate_to_brand_ids\": [\n 1\n ],\n \"post_group_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"sort_index\": 123,\n \"subtitle_content\": \"<string>\",\n \"subtitle_metadata\": {\n \"filename\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}YouTube-specific fields
| Parameter | Description |
|---|---|
title | Required. Title of the YouTube video. |
description | Optional description for the video. |
declared_made_for_kids | Required. "true" or "false" for COPPA compliance. |
Publishing modes
| Mode | status | auto_publish | timestamp |
|---|---|---|---|
| Publish immediately | AUTOPUBLISHING | true | Not required |
| Schedule for later | SCHEDULED | true | Required |
Example request
{
"auto_publish": true,
"brand_id": 144,
"status": "SCHEDULED",
"title": "Product Launch",
"description": "Watch our newest launch announcement.",
"media_ids": [621242772],
"timestamp": "2026-03-10T15:00:00Z",
"declared_made_for_kids": "false"
}
Notes
auto_publish: falseis not supported. Always setauto_publish: true.- YouTube only supports video media. Drafts without media are not supported.
- Only 1 video can be attached per post.
declared_made_for_kidsis required to comply with COPPA.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The id of the brand to which the post belongs.
x >= 0Whether the post should be auto published. Must be true for YouTube posts. Defaults to true if not provided.
The list of the media ids attached to the post.
x >= 0The current status of the post.
AUTOPUBLISHING, DRAFT, EXPIRED, FAILED, IMPORTED, MISSING_APPROVALS, PARTIALLY_FAILED, POSTED, SCHEDULED, SKIPPED, USERS_NOTIFIED The title of the YouTube video.
1 - 100The scheduled date & time for publishing the post.
The approval policy of the approval request
APPROVAL_REQUIRED, APPROVAL_NOT_REQUIRED The list of approval requests associated with the post.
Show child attributes
Show child attributes
The list of the board ids associated with the post.
x >= 0The list of the campaign ids associated with the post.
x >= 0The list of the content tag ids associated with the post.
x >= 0To identify the user or the application that created the post.
RSS_FEED The list of duplicate to brand ids.
55x >= 0The id of the post group associated with the post.
The sorted index for unscheduled posts.
Raw SRT subtitle file content as text
Subtitle metadata including language code and filename
Show child attributes
Show child attributes