Skip to main content

Get TikTok Publishing Settings

Returns what a connected TikTok account is allowed to publish.

The reason this endpoint exists is privacy_level_options. TikTok's enum has four privacy values, but each account may only use a subset of them — a private account, for example, has no PUBLIC_TO_EVERYONE at all. Sending one the account does not have fails the upload with error_code: "tiktok_privacy_unavailable". Ask here first and offer only the values that will work.

  • Method: GET
  • Endpoint: /api/uploadposts/tiktok/settings
  • Authentication:
    • API Key in the Authorization header.
      • Authorization: Apikey <YOUR_API_KEY>

Query Parameters

ParameterTypeRequiredDescription
profilestringYesThe profile's username. Must have a TikTok account connected.

Example Request

curl -G 'https://api.upload-post.com/api/uploadposts/tiktok/settings' \
-H 'Authorization: Apikey your-api-key-here' \
-d 'profile=your_profile'

Successful Response (200 OK)

{
"success": true,
"privacy_level_options": [
"PUBLIC_TO_EVERYONE",
"MUTUAL_FOLLOW_FRIENDS",
"FOLLOWER_OF_CREATOR",
"SELF_ONLY"
],
"max_video_post_duration_sec": 600,
"comment_disabled": false,
"duet_disabled": false,
"stitch_disabled": false
}

A private account answers with a narrower list and no public option:

{
"success": true,
"privacy_level_options": [
"FOLLOWER_OF_CREATOR",
"MUTUAL_FOLLOW_FRIENDS",
"SELF_ONLY"
],
"max_video_post_duration_sec": 600,
"comment_disabled": false,
"duet_disabled": false,
"stitch_disabled": false
}
FieldDescription
privacy_level_optionsThe privacy levels this account may publish with. Pass one of these as privacy_level on the upload.
max_video_post_duration_secLongest video the account can publish, in seconds.
comment_disabledtrue when the account has comments turned off account-wide. Sending disable_comment=false will not re-enable them.
duet_disabledSame, for duets.
stitch_disabledSame, for stitches.

Error Responses

  • 400 Bad Request — missing profile.
{ "success": false, "message": "profile is required" }
  • 404 Not Found — no profile with that username exists under your API key.
{
"success": false,
"message": "Profile 'your_profile' not found.",
"error_code": "PROFILE_NOT_FOUND"
}
  • 400 Bad Request — the profile's TikTok connection does not support this endpoint. Reconnect the account.
{
"success": false,
"message": "Profile 'your_profile' has no TikTok connection that supports this endpoint. Reconnect your TikTok account from Manage Users.",
"error_code": "tiktok_reconnect_required"
}
  • 409 Conflict — the TikTok token expired and the account must be reconnected ("reauth_required": true).
  • 502 Bad Gateway — TikTok rejected the lookup; the upstream message is returned verbatim in message.

What happens if you skip this call

Nothing breaks silently. Asking for a privacy level the account cannot use is refused before anything is sent to TikTok, and the error names the ones it does have:

{
"success": false,
"error": "Your TikTok account does not allow privacy_level='PUBLIC_TO_EVERYONE'. Allowed for this account: FOLLOWER_OF_CREATOR, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY.",
"error_code": "tiktok_privacy_unavailable"
}

That error is refundable: nothing was published, so the upload does not count against your 24-hour allowance.

Additional Notes

  • On video uploads you may omit privacy_level entirely; TikTok then applies the account's own default. That is the only choice guaranteed to work on every account.
  • On photo uploads TikTok requires a privacy level, so Upload-Post defaults to PUBLIC_TO_EVERYONE — which is exactly the value a private account cannot use. Read privacy_level_options and send one explicitly for those accounts.
  • The answer is cached for a few minutes per account, so polling it while a user fills in a composer costs nothing upstream.
  • FOLLOWER_ONLY is accepted on uploads as a legacy synonym of FOLLOWER_OF_CREATOR, but this endpoint always reports TikTok's own spelling.