Skip to main content

Error: {"code":"reached_active_user_cap"}

If you've encountered this error, don't worry. This is not an issue with your account, your content, or our platform's stability. It's a temporary limitation from the TikTok API.

This error means that the daily limit of active users allowed by TikTok for our application has been reached.

Recommended fix: reconnect the TikTok account. The new publishing route is not governed by this cap, so posts go out directly — no inbox step.

Go to Manage Users and tap Connect TikTok. API calls do not change: same endpoints, same platform[]=tiktok, same fields. Reconnecting also unlocks the TikTok options in Upload Video (music, location, custom covers). privacy_level still works on video and photos — TikTok decides which levels the account may use — and you can still send a draft with post_mode=MEDIA_UPLOAD (alias tiktok_upload_to_draft=true).

Workaround without reconnecting: send post_mode=MEDIA_UPLOAD. The file goes to the TikTok inbox; you finish and publish in the app. This path is not affected by the cap, for videos and photos.

curl --location 'https://api.upload-post.com/api/upload' \
--header 'Authorization: ApiKey YOUR_API_KEY' \
--form 'user="your_profile"' \
--form 'platform[]="tiktok"' \
--form 'title="My caption"' \
--form 'video=@"/path/to/video.mp4"' \
--form 'post_mode="MEDIA_UPLOAD"'

For photos, send the same post_mode="MEDIA_UPLOAD" field to the photo upload endpoint.

What to expect with MEDIA_UPLOAD:

  • The post lands in your TikTok inbox / drafts — you must open the TikTok app to confirm and publish it.
  • Your caption does not travel with a video draft. TikTok's inbox endpoint accepts only the video file itself — no title, caption, privacy or other metadata — so the draft arrives without your text and you paste it in the app before publishing. This also applies to posts that reach the inbox via the automatic fallback below: the caption you sent is delivered only when the post publishes directly. (Photo/carousel drafts are the exception — TikTok does accept title/description for those.)
  • The draft's caption field may show an app-branding hashtag prefilled by TikTok; you can delete or keep it when editing.
  • See the full reference in the video and photo API docs.

Automatic fallback — and how to detect it in your code

Since June 2026 you usually won't even see this error on uploads: when the cap is hit, a DIRECT_POST upload is automatically retried as MEDIA_UPLOAD instead of failing. Your content still reaches TikTok — it lands in your inbox/drafts for you to publish from the app — and the API response reports success: true.

Because the post is not live yet in that case, the response gives you a machine-readable signal to detect the switch: the TikTok result includes "fallback_to_inbox": true.

{
"success": true,
"publish_id": "v_inbox_file~v2.1234567890",
"fallback_to_inbox": true,
"note": "Video sent to your TikTok inbox for manual posting"
}

For video uploads the returned id also starts with v_inbox_file (a direct publish id starts with v_pub_); photo ids use different prefixes, so rely on the fallback_to_inbox flag rather than the id shape. If your workflow needs to distinguish "published live" from "waiting in the inbox", check the flag on every TikTok result. A notification email is also sent to the account owner when the fallback happens.

Since August 2026 the fallback_to_inbox flag is also persisted with the upload record, so it appears on the per-platform results returned by GET /api/uploadposts/status and GET /api/uploadposts/history. This matters for scheduled and async uploads, where there is no synchronous response to inspect: polling status or reading history now shows the flag too. (Uploads recorded before the change carry no flag — for those, a video inbox delivery usually shows post_url: "Video sent to Inbox (No Public URL)", while photo inbox deliveries have post_url: null.)

Exception: accounts on the Business plan are excluded from the automatic fallback — they receive the reached_active_user_cap error directly instead, so their automations can decide what to do.

Opting out: any account can disable the fallback per upload by sending disable_inbox_fallback=true (video and photo uploads). When the cap is hit, the upload then fails instead of landing in the inbox: the TikTok result carries error_code: "reached_active_user_cap" plus a human-readable error message, so your automation can match the code and reschedule. Prefer this if your integration has its own retry or rescheduling logic: an inbox draft cannot be deleted through TikTok's API (only the account owner can discard it in the app), and unpublished drafts count toward TikTok's limit of 5 pending inbox shares per 24h (spam_risk_too_many_pending_share).

What is a "Daily Active User"?

In this context, a "daily active user" is anyone who uses our application to interact with the TikTok API on a given day. TikTok sets a cap on how many unique users can do this through a single application (like ours) within a 24-hour period.

What should you do?

  • Your account and content are safe. This is not a penalty or a block on your account.
  • Best long-term fix: reconnect the TikTok account. Reconnected accounts publish through our new route, which is not subject to the cap, so direct publishing keeps working every day.
  • Keep posting today with post_mode=MEDIA_UPLOAD. This sends your content to your TikTok inbox so you can publish it from the app, bypassing the cap (see the workaround above).
  • Or wait and retry. The user cap is reset by TikTok every 24 hours, so waiting a few hours before posting directly again also works.
  • If the error persists for more than 24 hours, please try again the next day.

Why does this happen?

To manage their platform's resources, TikTok imposes a daily usage quota on every application that connects to its API. Due to the rapid growth of our user community, we are sometimes hitting this maximum allowed number of daily users.

What are we doing about it?

We changed how we publish to TikTok: the new route runs on an API surface that is not governed by the daily active-user cap. New TikTok connections, and any account you reconnect, are routed there automatically, so this error stops appearing for them.

In parallel, we remain in direct communication with TikTok's developer support team to request an increase in our daily user quota for the old route.

Unfortunately, the timeline for this increase is determined by TikTok, and we cannot expedite their internal review process. We appreciate your patience as we work to resolve this for good.

Thank you for your understanding. We are committed to providing a reliable service and are doing everything we can to support our growing community.