Skip to main content

Endpoint

POST https://api.ugc.inc/post/draft

Overview

Create a draft post that is saved but not assigned to an account or scheduled for publishing. Drafts allow you to prepare post content (media, caption, title) and assign an account and schedule later using the Update Post endpoint.
Draft to Scheduled:To schedule a draft, use the Update Post endpoint to set both accountId and postTime. The post will automatically transition from draft to scheduled status.

Request Body

type
'video' | 'slideshow'
required
Type of post content
mediaUrls
string[]
required
Array of media URLs. For video posts, provide a single video URL. For slideshow posts, provide one or more image URLs.
caption
string
Post caption/description (max 500 characters)
title
string
Slideshow title (max 90 characters, slideshow posts only)
socialAudioId
string
ID of a social audio record to attach to the post

Response

data
Post
The created draft post object
curl -X POST https://api.ugc.inc/post/draft \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "video",
    "mediaUrls": ["https://storage.example.com/video.mp4"],
    "caption": "Draft caption - will assign account later"
  }'
{
  "ok": true,
  "code": 200,
  "data": {
    "id": "post_abc123",
    "account_id": null,
    "type": "video",
    "status": "draft",
    "social_id": null,
    "caption": "Draft caption - will assign account later",
    "title": null,
    "media_urls": [
      "https://storage.example.com/video.mp4"
    ],
    "thumbnail_url": null,
    "social_audio_id": null,
    "music_post_id": null,
    "scheduled_at": null
  }
}