1. Connect from the dashboard (all platforms)
The simplest path — and the only one for most platforms — is the Developer Dashboard: open Social Accounts, choose a platform, and complete the OAuth flow. The account immediately becomes available to the API and appears inGET /v1/social/accounts.
2. Headless connect (your own UI)
Every supported platform can be connected from your own app — Facebook, Instagram, X (Twitter), LinkedIn, YouTube, TikTok, Threads, Bluesky, Pinterest, Reddit, Snapchat, Tumblr, and Google Business — without sending the user through the SmartlyQ dashboard.Request a connect link
Call
POST /v1/social/connect/{platform} with scope social:write. Pass an optional return_url to send the user back to your app afterward.Response (201)
Send the user to connect_url
Open
connect_url in a browser (redirect, popup, or new tab). The link is single-use and expires in 15 minutes. The user authorizes on the platform.The account connects automatically
When the user approves, the platform’s OAuth callback completes the connection on SmartlyQ’s side and — if you supplied
return_url — redirects the user back to your app with ?connected=<count>&platform=<name>. The new account now shows up in GET /v1/social/accounts. Platforms that expose multiple targets (YouTube channels, Google Business locations, Tumblr blogs, a member’s LinkedIn pages) connect them all automatically — there’s no in-flow picker.Managing connected accounts
| Action | Endpoint |
|---|---|
| List accounts | GET /v1/social/accounts |
| Check token health | GET /v1/social/accounts/{id}/health |
| Get a re-auth link | GET /v1/social/accounts/{id}/reconnect-url |
| Pause / resume posting | POST /v1/social/accounts/{id}/pause · /resume |
| Disconnect | DELETE /v1/social/accounts/{id} |
Reconnecting an account
Access tokens expire (lifetimes vary by platform — some in hours, some in months). SmartlyQ refreshes them automatically, but if an account’s health turns unhealthy — or you receive anaccount.token_expired webhook — get a reconnect link and send the user through it:

