Keep your API key on your server. Every request below is made from your
backend.
1. Connect an end user’s account
Call the connect endpoint with your own user id and an allowed redirect URL. Allowed redirect URLs are configured for your partner account; the value must match one of them exactly (scheme, host and path).authorization_url within 5 minutes. After they approve, PostOnce redirects them to your redirect_url with:
Instagram requires a Business or Creator account. Where end users connect YouTube, link to the YouTube Terms of Service and the Google Privacy Policy.
2. List an end user’s accounts
external_user_id and status. An account with status auth_required needs the end user to connect again.
3. Build a compliant TikTok posting screen
TikTok requires the screen your end users post from to follow its Content Sharing Guidelines. Load the creator’s current settings right before showing the screen:- Show
creator_nickname, so the end user knows which account receives the video. - Offer a privacy dropdown built from
privacy_level_options, with no default selected. - Offer Comment, Duet and Stitch toggles, all off by default, greyed out when the matching
*_disabledvalue istrue. - Offer a “Disclose video content” toggle (off by default) with “Your brand” and “Branded content” options. Branded content can’t be private.
- Show “By posting, you agree to TikTok’s Music Usage Confirmation” (plus the Branded Content Policy when branded content is selected).
- Show a preview, and start the upload only after the end user explicitly confirms.
platform_options:
4. Publish for an end user
Includeexternal_user_id so PostOnce rejects any target that belongs to a different end user (403 account_not_owned_by_user).
publish_at to schedule instead of publishing now. Poll GET /v1/posts/{id} for per-target status, and list an end user’s posts with GET /v1/posts?external_user_id=user_8f21.
