curl --request POST \
--url https://scheduler.dashsocial.com/threads/scheduled_posts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"brand_id": 1,
"auto_publish": true,
"text": "<string>",
"media_ids": [
1
],
"timestamp": "2023-11-07T05:31:56Z",
"link": "<string>",
"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",
"rss_feed_id": 123,
"rss_guid": "<string>",
"rss_publish_date": "2023-11-07T05:31:56Z",
"sort_index": 123
}
'import requests
url = "https://scheduler.dashsocial.com/threads/scheduled_posts"
payload = {
"brand_id": 1,
"auto_publish": True,
"text": "<string>",
"media_ids": [1],
"timestamp": "2023-11-07T05:31:56Z",
"link": "<string>",
"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",
"rss_feed_id": 123,
"rss_guid": "<string>",
"rss_publish_date": "2023-11-07T05:31:56Z",
"sort_index": 123
}
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,
text: '<string>',
media_ids: [1],
timestamp: '2023-11-07T05:31:56Z',
link: '<string>',
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',
rss_feed_id: 123,
rss_guid: '<string>',
rss_publish_date: '2023-11-07T05:31:56Z',
sort_index: 123
})
};
fetch('https://scheduler.dashsocial.com/threads/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/threads/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,
'text' => '<string>',
'media_ids' => [
1
],
'timestamp' => '2023-11-07T05:31:56Z',
'link' => '<string>',
'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',
'rss_feed_id' => 123,
'rss_guid' => '<string>',
'rss_publish_date' => '2023-11-07T05:31:56Z',
'sort_index' => 123
]),
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/threads/scheduled_posts"
payload := strings.NewReader("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\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/threads/scheduled_posts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scheduler.dashsocial.com/threads/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 \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\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 Threads post
Create a new Threads post.
curl --request POST \
--url https://scheduler.dashsocial.com/threads/scheduled_posts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"brand_id": 1,
"auto_publish": true,
"text": "<string>",
"media_ids": [
1
],
"timestamp": "2023-11-07T05:31:56Z",
"link": "<string>",
"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",
"rss_feed_id": 123,
"rss_guid": "<string>",
"rss_publish_date": "2023-11-07T05:31:56Z",
"sort_index": 123
}
'import requests
url = "https://scheduler.dashsocial.com/threads/scheduled_posts"
payload = {
"brand_id": 1,
"auto_publish": True,
"text": "<string>",
"media_ids": [1],
"timestamp": "2023-11-07T05:31:56Z",
"link": "<string>",
"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",
"rss_feed_id": 123,
"rss_guid": "<string>",
"rss_publish_date": "2023-11-07T05:31:56Z",
"sort_index": 123
}
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,
text: '<string>',
media_ids: [1],
timestamp: '2023-11-07T05:31:56Z',
link: '<string>',
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',
rss_feed_id: 123,
rss_guid: '<string>',
rss_publish_date: '2023-11-07T05:31:56Z',
sort_index: 123
})
};
fetch('https://scheduler.dashsocial.com/threads/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/threads/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,
'text' => '<string>',
'media_ids' => [
1
],
'timestamp' => '2023-11-07T05:31:56Z',
'link' => '<string>',
'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',
'rss_feed_id' => 123,
'rss_guid' => '<string>',
'rss_publish_date' => '2023-11-07T05:31:56Z',
'sort_index' => 123
]),
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/threads/scheduled_posts"
payload := strings.NewReader("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\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/threads/scheduled_posts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"brand_id\": 1,\n \"auto_publish\": true,\n \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://scheduler.dashsocial.com/threads/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 \"text\": \"<string>\",\n \"media_ids\": [\n 1\n ],\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"link\": \"<string>\",\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 \"rss_feed_id\": 123,\n \"rss_guid\": \"<string>\",\n \"rss_publish_date\": \"2023-11-07T05:31:56Z\",\n \"sort_index\": 123\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}{
"code": 123,
"errors": {},
"message": "<string>",
"status": "<string>"
}Threads-specific fields
| Parameter | Description |
|---|---|
text | Post caption text |
Publishing modes
| Mode | status | auto_publish | timestamp |
|---|---|---|---|
| Publish immediately | AUTOPUBLISHING | true | Not required |
| Schedule for later | SCHEDULED | true | Required |
| Save as draft | DRAFT | true or false | Optional |
Example request
{
"auto_publish": true,
"brand_id": 144,
"status": "SCHEDULED",
"text": "Something exciting is coming.",
"media_ids": [621242772],
"timestamp": "2026-03-10T15:00:00Z"
}
Notes
auto_publishis always treated astrue, even iffalseis provided.- Caption-only posts (no media) are supported.
- Supports up to 20 images. Video is not currently supported.
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.
The current status of the post.
AUTOPUBLISHING, DRAFT, EXPIRED, FAILED, IMPORTED, MISSING_APPROVALS, PARTIALLY_FAILED, POSTED, SCHEDULED, SKIPPED, USERS_NOTIFIED Text content of the Threads post
500The list of the media ids attached to the post.
x >= 0The scheduled date & time for publishing the post.
Link to associate to the post as a link preview.
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.
Foreign key reference to the RSS feed table.
The unique identifier coming from RSS Feed.
The timestamp of when an RSS feed item was published
The sorted index for unscheduled posts.