Skip to main content
POST
/
social
/
posts
Schedule or draft a post
curl --request POST \
  --url https://rawugc.com/api/v1/social/posts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "videoUrl": "<string>",
  "accountIds": [
    "<string>"
  ],
  "mode": "schedule",
  "scheduledFor": 123,
  "timezone": "UTC",
  "content": "<string>",
  "videoId": "<string>",
  "publishToInbox": true,
  "tiktokPrivacyLevel": "SELF_ONLY",
  "tiktokAllowComment": true,
  "tiktokAllowDuet": true,
  "tiktokAllowStitch": true,
  "tiktokCommercialContentType": "none"
}
'
{
  "postId": "<string>",
  "platforms": [
    "<string>"
  ],
  "status": "draft",
  "scheduledFor": 123,
  "timezone": "<string>",
  "content": "<string>",
  "videoUrl": "<string>",
  "createdAt": 123,
  "publishedAt": 123
}

Authorizations

Authorization
string
header
required

Use your API key from the RawUGC dashboard. Include as: Authorization: Bearer YOUR_API_KEY

Body

application/json
videoUrl
string<uri>
required

URL of the video to schedule

accountIds
string[]
required

Array of accountId values from connected accounts (see GET /social/accounts)

Minimum array length: 1
mode
enum<string>
required

Publish mode. 'schedule' requires scheduledFor. 'now' publishes immediately. 'draft' saves as draft.

Available options:
schedule,
draft,
now
scheduledFor
integer

Unix timestamp (ms) for the scheduled publish time. Required when mode is 'schedule'.

timezone
string
default:UTC

IANA timezone string (e.g., 'America/New_York')

content
string

Post caption/content

Maximum string length: 2200
videoId
string

Optional RawUGC video ID (vid_xxx format) to link this post to a generated video

publishToInbox
boolean

Send video to TikTok Creator Inbox for review before publishing. Use with mode: 'now' or 'draft'.

tiktokPrivacyLevel
enum<string>

TikTok video privacy level

Available options:
SELF_ONLY,
PUBLIC_TO_EVERYONE,
MUTUAL_FOLLOW_FRIENDS,
FOLLOWER_OF_CREATOR
tiktokAllowComment
boolean

Allow comments on TikTok post

tiktokAllowDuet
boolean

Allow duets on TikTok post

tiktokAllowStitch
boolean

Allow stitches on TikTok post

tiktokCommercialContentType
enum<string>

TikTok commercial content disclosure type

Available options:
none,
brand_organic,
brand_content

Response

Post created successfully

postId
string

Post ID

platforms
string[]

Platform names

status
enum<string>
Available options:
draft,
scheduled,
published,
failed
scheduledFor
number

Unix timestamp of scheduled publish time

timezone
string
content
string

Post caption

videoUrl
string<uri>
createdAt
number
publishedAt
number