Bring your own app
PostFuze is bring-your-own-key (BYOK): you register your own OAuth app with each platform, then paste its credentials into PostFuze. We handle all the publishing plumbing — chunked media uploads, async transcode polling, token refresh, retries, the unified data model — while your app stays the developer of record on every network.
One-click managed connect is coming soon
This is what you want for a product:
- Your brand on the consent screen. When a customer connects an account they authorize your app, not ours.
- Your rate limits and quotas.Each platform meters against your app, so one noisy tenant can’t exhaust a shared pool.
- Your relationship with the platform. App review, terms, and data access are between you and each network — no middleman.
1. The redirect URI
Every OAuth app you create must allow-list a single redirect (callback) URI — the URL the platform sends the user back to after they approve. It is the same for every platform:
https://www.postfuze.com/api/v1/connect/callbackRegister this exact URL
redirect_uri_mismatch. Your OAuth Apps settings page in the dashboard shows this same URL per platform, so you can copy it from there too.2. Save your credentials in PostFuze
Once you have a client_id and client_secret from the platform, store them per network — either in the dashboard under Settings → OAuth Apps(“Bring your own app”), or via the API:
curl https://api.postfuze.com/api/v1/social-networks \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{
"platform": "x",
"display_name": "My X App",
"client_id": "YOUR_X_CLIENT_ID",
"client_secret": "YOUR_X_CLIENT_SECRET",
"redirect_uri": "https://www.postfuze.com/api/v1/connect/callback",
"scopes": ["tweet.read", "tweet.write", "users.read", "media.write", "offline.access"]
}'The dashboard flags any missing publish-critical scopes on a saved app, so you can fix the gap before a customer hits it. See Social networks for the full endpoint and Connecting accounts for the OAuth round-trip your customers go through next.
3. Per-platform setup
Each platform has its own developer console. The steps below get you to a client_id and client_secret, and list the scopes PostFuze requests by default — request approval for these in the platform’s App Review so publishing isn’t blocked. Leave the scopes field empty when saving your app to use exactly this set.
X (Twitter)
Console: X Developer Console
- Create a Project, then an App inside it.
- Open the app → User authentication settings → enable OAuth 2.0 as a Web App (confidential client).
- Open Keys and Tokens → copy the Client ID and Client Secret (shown once, save them immediately).
Scopes requested:
tweet.readtweet.writeusers.readmedia.writeoffline.access
Register the redirect URI above, then see X (Twitter) for the full per-platform reference.
Console: LinkedIn Developers
- Create an app and link it to a Company Page.
- Add the "Sign In with OpenID Connect" + "Share on LinkedIn" products (and "Community Management API" for posting as a Page).
- Open the app → Auth tab → copy the Client ID, then reveal and copy the Primary Client Secret.
Scopes requested:
openidprofileemailw_member_socialr_member_postAnalyticsw_member_social_feedw_organization_social_feedw_organization_socialr_organization_socialr_1st_connections_size
Register the redirect URI above, then see LinkedIn for the full per-platform reference.
Console: Meta for Developers
- Create a Business app and add the Facebook Login product.
- Open App settings → Basic.
- Copy the App ID (client ID) and reveal the App Secret.
Scopes requested:
pages_manage_postspages_manage_engagementpages_read_engagementpages_read_user_contentpages_show_list
Register the redirect URI above, then see Facebook for the full per-platform reference.
Console: Meta for Developers
- Create a Business app, then add the Instagram product + Facebook Login.
- Open App settings → Basic.
- Copy the App ID (client ID) and reveal the App Secret.
Scopes requested:
instagram_basicinstagram_content_publishinstagram_manage_commentsinstagram_manage_insightspages_show_listpages_read_engagementbusiness_management
Register the redirect URI above, then see Instagram for the full per-platform reference.
Threads
Console: Meta for Developers
- Create an app with the "Access the Threads API" use case.
- Open App settings → Basic.
- Copy the Threads app ID and Threads app secret.
Scopes requested:
threads_basicthreads_content_publishthreads_manage_repliesthreads_manage_insights
Register the redirect URI above, then see Threads for the full per-platform reference.
TikTok
Console: TikTok for Developers
- Manage apps → Connect an app, then add the Content Posting API.
- Open the app → Credentials.
- Copy the Client Key (client ID) and Client Secret. (Posting beyond private mode needs app review.)
Scopes requested:
user.info.basicuser.info.profileuser.info.statsvideo.publishvideo.uploadvideo.list
Register the redirect URI above, then see TikTok for the full per-platform reference.
YouTube
Console: Google Cloud Console
- Enable the YouTube Data API v3 and set up the OAuth consent screen.
- Credentials → Create credentials → OAuth client ID → Web application.
- Copy the Client ID and Client Secret.
Scopes requested:
https://www.googleapis.com/auth/youtube.uploadhttps://www.googleapis.com/auth/youtube.readonly
Register the redirect URI above, then see YouTube for the full per-platform reference.
Console: Pinterest Developers
- Create an app (business account) and request Content Publishing access.
- Open the app → Configure tab → API keys.
- Copy the App ID (client ID) and App secret key. (Keys appear once trial access is approved.)
Scopes requested:
pins:readpins:writeboards:readboards:writeuser_accounts:read
Register the redirect URI above, then see Pinterest for the full per-platform reference.
Google Business
Console: Google Cloud Console
- Enable the Business Profile APIs and set up the OAuth consent screen.
- Credentials → Create credentials → OAuth client ID → Web application.
- Copy the Client ID and Client Secret.
Scopes requested:
https://www.googleapis.com/auth/business.manageopenidemailprofile
Register the redirect URI above, then see Google Business for the full per-platform reference.
Console: Reddit Apps
- Scroll to the bottom and click "create another app…", then choose the "web app" type.
- Set the redirect URI to your PostFuze callback URL, then create the app.
- The Client ID is the string under the app name; the Client Secret is the "secret" field.
Scopes requested:
identitysubmitreadflairhistory
Register the redirect URI above, then see Reddit for the full per-platform reference.
Bluesky is different — no app needed
Bluesky doesn’t use OAuth apps. A customer connects with their handle and an app password(generated in their Bluesky settings), so there’s nothing for you to register. It’s the fastest way to a first successful connect while you set up the heavier OAuth apps — see Bluesky.
Start with one platform