Skip to content

OAuth Callback URLs

When you create an OAuth app for each platform, the redirect URI must match exactly. The generic pattern is ${BASE_URL}/api/v1/auth/<platform>/callback. Bluesky, Telegram, and Listmonk don't use OAuth and don't need a callback.

The full list

Replace <BASE_URL> with your backend URL (e.g. https://app.sosyabot.com). The path uses the configured API_PREFIX (default /api/v1).

PlatformCallback URL
X (Twitter) — OAuth<BASE_URL>/api/v1/auth/twitter/callback
X (Twitter) — cookie connect<BASE_URL>/api/v1/auth/twitter/unofficial (POST)
Instagram<BASE_URL>/api/v1/auth/instagram/callback
Facebook<BASE_URL>/api/v1/auth/facebook/callback
LinkedIn<BASE_URL>/api/v1/auth/linkedin/callback
TikTok<BASE_URL>/api/v1/auth/tiktok/callback
Threads<BASE_URL>/api/v1/auth/threads/callback
Mastodon<BASE_URL>/api/v1/auth/mastodon/callback
Pinterest<BASE_URL>/api/v1/auth/pinterest/callback
YouTube<BASE_URL>/api/v1/auth/youtube/callback
Reddit<BASE_URL>/api/v1/auth/reddit/callback
Discord<BASE_URL>/api/v1/auth/discord/callback
Slack<BASE_URL>/api/v1/auth/slack/callback
Blueskynone — POST <BASE_URL>/api/v1/social/bluesky/connect
Telegramnone — POST <BASE_URL>/api/v1/social/telegram/connect
Listmonknone — POST <BASE_URL>/api/v1/social/listmonk/connect

Sign-in OAuth (dashboard login, not channel connect)

ProviderCallback URL
Google<BASE_URL>/api/v1/auth/oauth/google/callback
GitHub<BASE_URL>/api/v1/auth/oauth/github/callback

Stripe webhook

<BASE_URL>/api/v1/webhooks/billing/stripe

See Stripe Webhook for the event list to subscribe to.

Mastodon — per-instance registration

Mastodon's OAuth model differs: each instance needs its own app registration. Sosyabot calls POST <instance>/api/v1/apps automatically the first time a user connects an account on that instance and stores the resulting credentials in the MastodonApps collection. The redirect URI it registers is the same callback as above.