Vibescaling Docs

Publishing

Publishing posts to TikTok via the Vibescaling API

Publish a Post

Publish a draft post directly to TikTok:

POST /api/v1/posts/:id/publish

Request body

{
  "tiktok_account_id": "uuid-of-connected-account",
  "mode": "direct",
  "privacy_level": "PUBLIC_TO_EVERYONE",
  "disable_comment": false,
  "disable_duet": false,
  "disable_stitch": false,
  "brand_content_toggle": false,
  "brand_organic_toggle": false
}
FieldTypeRequiredDescription
tiktok_account_iduuidYesTikTok account to publish to
modestringNo"direct" (default) or "inbox"
privacy_levelstringYesPUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, or SELF_ONLY
disable_commentbooleanNoDisable comments (default false)
disable_duetbooleanNoDisable duet (default false)
disable_stitchbooleanNoDisable stitch (default false)
brand_content_togglebooleanNoBranded content disclosure (default false)
brand_organic_togglebooleanNoOwn brand promotion disclosure (default false)

Response

{
  "data": {
    "publish_id": "tiktok_publish_id"
  }
}

The post status will be updated to posted and posted_at will be set.

Scheduling

Schedule a post for automatic publishing:

PATCH /api/v1/posts/:id

Request body

{
  "status": "scheduled",
  "scheduled_at": "2026-03-15T14:00:00Z",
  "tiktok_account_id": "uuid-of-connected-account",
  "privacy_level": "PUBLIC_TO_EVERYONE",
  "disable_comment": false,
  "disable_duet": false,
  "disable_stitch": false,
  "brand_content_toggle": false,
  "brand_organic_toggle": false
}

Scheduled posts are published automatically by a background job that runs every 5 minutes. The scheduled time must be at least 5 minutes in the future.

Privacy Levels

privacy_level is required (no default). TikTok supports:

  • PUBLIC_TO_EVERYONE — visible to all users
  • MUTUAL_FOLLOW_FRIENDS — visible to mutual followers
  • FOLLOWER_OF_CREATOR — visible to the creator's followers
  • SELF_ONLY — only visible to the poster

Check Publish Status

After publishing, you can poll for TikTok's processing status:

GET /api/v1/posts/:id/publish-status

Response

{
  "data": {
    "publish_id": "tiktok_publish_id",
    "status": "processing",
    "tiktok_status": "PROCESSING_UPLOAD"
  }
}

This is especially useful for video posts, which TikTok processes asynchronously. Returns 404 if the post has no publish record.

Dispatch Logs

Every publish attempt is logged. View dispatch history in the Analytics page or query the database directly.

On this page