Two different meanings of a successful upload
TikTok's Content Posting API has two separate routes. Direct Post asks TikTok to publish the content. The upload route, often shown in tools as sending to drafts or to the inbox, only delivers the media: TikTok's documentation says users must click the inbox notification to continue the editing flow in TikTok and complete the post. Both routes can report success, but they promise different things.
TikTok's status endpoint makes the difference visible. SEND_TO_USER_INBOX means a notification was sent to the creator's inbox to complete the draft. PUBLISH_COMPLETE means the content was posted; for uploaded content, it means the creator opened the notification and posted it through the editing flow. A tool that stops at SEND_TO_USER_INBOX has done its job, and the next step belongs to a person.
| Status reported by TikTok | What it means | What to do |
|---|---|---|
| PROCESSING_UPLOAD or PROCESSING_DOWNLOAD | TikTok is still receiving the file | Wait and check again before resending |
| SEND_TO_USER_INBOX | A draft is waiting in the creator's TikTok inbox | Open the notification in the TikTok app and finish the post |
| PUBLISH_COMPLETE | The post was published | Open the profile; a public post ID can lag behind moderation |
| FAILED | The whole process failed | Read the failure reason, fix it, then retry once |
Finish an inbox draft
Sign in to the TikTok app with the same account the tool is connected to, since the notification goes to that creator and nobody else. Open the upload notification, review the video, and complete the post in TikTok's editor. This is also where native choices are made, such as picking a sound from TikTok's library.
Check the caption before you post. The inbox video upload request in TikTok's API carries the file only, with no caption field, so the text you wrote in your publishing tool may not appear in the draft. Keep the caption somewhere you can copy it from on your phone, and paste it in before posting.
- Confirm which TikTok account the publishing tool is connected to.
- In the TikTok app, signed in as that account, open the upload notification in the inbox.
- Review the video and choose any native options, such as a sound.
- Paste the caption, hashtags included, if the draft arrived without one.
- Post, then open the profile and confirm the video is public.
Why uploading again can make it worse
A missing inbox post is usually an unfinished draft, not a failed upload, so sending the same file again adds a second draft instead of publishing the first. TikTok also caps pending uploads: its upload reference says there may be at most 5 pending shares within any 24-hour period, and a request beyond that fails with spam_risk_too_many_pending_share. Unfinished drafts count against that limit until they are dealt with.
TikTok's documentation does not say how long an inbox draft stays available, so do not plan around a grace period. Finish drafts the same day they arrive, especially if a post is scheduled for a set time, and name the person who will do it.
If the post was meant to publish directly
When the tool used Direct Post and the video still is not visible, read the publish status rather than the upload result. FAILED comes with a reason worth reading before any retry. PUBLISH_COMPLETE with no visible video can be moderation timing: TikTok says the public post ID appears only after the post passes moderation, which usually takes about a minute but can take a few hours. Also check the privacy level the post was sent with, since a post visible only to you will not appear to others.
How this works in Ferryman
Ferryman's TikTok settings offer Direct post and Send to drafts. With Send to drafts, Ferryman uploads the video and records the job as sent once the upload reaches TikTok's inbox step; the post becomes public only after the creator finishes it in the TikTok app. With Direct post, Ferryman asks TikTok to publish and reports the result. If a TikTok post seems to be missing, check which mode the post used before sending it again.
Sources & further reading
Written by Ferryman. Sources checked Oct 19, 2026. Platform rules can change; consult the linked documentation for current requirements.