Examples
Post to TikTok
Check the account's creator info, then publish a video or photo post with privacy and interaction settings.
Scopes: channels:read, media:write, posts:write, posts:publish.
TikTok requires every post to declare a privacy level the account is actually allowed to
use, so posting is a two-step flow: fetch the channel's creator info, then create the post
with POST /v1/posts/tiktok.
1. Check the channel's creator info
curl https://api.nimply.io/v1/channels/423e4567-e89b-12d3-a456-426614174003/tiktok/creator-info \
-H "Authorization: Bearer $NIMPLY_API_KEY"{
"nickname": "nimply.io",
"avatarUrl": "https://…",
"privacyLevelOptions": ["PUBLIC_TO_EVERYONE", "MUTUAL_FOLLOW_FRIENDS", "SELF_ONLY"],
"commentDisabled": false,
"duetDisabled": false,
"stitchDisabled": true,
"maxVideoDurationSec": 600
}The channel must be a TikTok channel (from GET /v1/channels); any other type returns 400.
2. Create the post
curl -X POST https://api.nimply.io/v1/posts/tiktok \
-H "Authorization: Bearer $NIMPLY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: tt-launch-video-001" \
-d '{
"channelId": "423e4567-e89b-12d3-a456-426614174003",
"mediaIds": ["d5e6f7a8-2b3c-4d5e-af90-1b2c3d4e5f6a"],
"privacyLevel": "PUBLIC_TO_EVERYONE",
"title": "Three rewrites later…",
"content": "How we shipped scheduled carousels #buildinpublic",
"allowComments": true,
"allowDuet": true,
"schedule": "next_slot"
}'{
"id": "8c467f68-…",
"channelId": "423e4567-e89b-12d3-a456-426614174003",
"title": "Three rewrites later…",
"contentType": "POST",
"status": "SCHEDULED",
"scheduledAt": "2026-07-23T09:00:00.000Z",
"mediaIds": ["d5e6f7a8-2b3c-4d5e-af90-1b2c3d4e5f6a"]
}Gotchas
mediaIdsis required — TikTok has no text-only posts. Send 1 video or up to 35 photos (a photo-mode post), uploaded first viaPOST /v1/media. Videos must fit within the account'smaxVideoDurationSec.privacyLevelis required and must be one of the account'sprivacyLevelOptionsfrom step 1 — sending a level the account can't use fails at publish time.- Comments, Duet, and Stitch are off by default; opt in with
allowComments/allowDuet/allowStitch. If creator info reports one as disabled for the account (likestitchDisabledabove), enabling it has no effect. Duet and Stitch apply to video posts only. - Disclosure toggles:
brandContentmarks a paid third-party partnership,brandOrganicmarks self-promotion.brandContentcannot be combined withprivacyLevel: "SELF_ONLY"— the API rejects it at request time. titleis capped at 100 characters, thecontentcaption at 2200.scheduleworks likecreatePost, and anIdempotency-Keyheader makes retries safe.