Start Connection
The Connect API starts the OAuth flow for a platform and binds the resulting accounts to a profile. Use it to let your own users connect their social accounts without leaving your product.
The flow has three steps:
GET /v1/connect/:platformreturns anauth_url. Redirect the user there.- The user authorizes on the platform and is redirected back to your
redirect_url. - For platforms with multiple targets (e.g. Facebook Pages), resolve the pending grant to persist the chosen accounts.
GET
/v1/connect/:platformQuery parameters
| Query | Notes |
|---|---|
profile_id | Required. The profile new accounts are assigned to. |
redirect_url | Where the platform sends the user after authorizing. |
{ "auth_url": "https://twitter.com/i/oauth2/authorize?...", "state": "..." } After the user authorizes, they are redirected to your redirect_url with either:
?connected=x&account_id=sa_...— a single account was connected, or?grant=<grant_id>&platform=x— multiple targets need selection (see Resolve Grant), or?error=<code>— the connection failed.
Credential Connection
Some platforms (e.g. Bluesky) connect with a username and app password instead of a redirect.
POST
/v1/connect/:platform{ "connected": ["sa_..."] } Get Grant
Lists the accounts discovered during OAuth so the user can pick which to connect.
GET
/v1/connect/grants/:grant_id{
"platform": "meta",
"targets": [
{ "external_id": "123", "account_type": "page", "name": "Acme Page", "username": null, "avatar_url": "https://..." }
]
} Resolve Grant
Persists the selected targets, assigned to the grant’s profile.
POST
/v1/connect/grants/:grant_idBody parameters
| Field | Type | Notes |
|---|---|---|
external_ids | string[] | Required. Platform external IDs to connect. |
{ "connected": ["sa_..."] }