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
Authorizationheader.Authorization: Apikey <YOUR_API_KEY>
- API Key in the
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
profile | string | Yes | The 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
}
| Field | Description |
|---|---|
privacy_level_options | The privacy levels this account may publish with. Pass one of these as privacy_level on the upload. |
max_video_post_duration_sec | Longest video the account can publish, in seconds. |
comment_disabled | true when the account has comments turned off account-wide. Sending disable_comment=false will not re-enable them. |
duet_disabled | Same, for duets. |
stitch_disabled | Same, for stitches. |
Error Responses
400 Bad Request— missingprofile.
{ "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 inmessage.
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_levelentirely; 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. Readprivacy_level_optionsand 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_ONLYis accepted on uploads as a legacy synonym ofFOLLOWER_OF_CREATOR, but this endpoint always reports TikTok's own spelling.