---
title: "Connect a Social Account"
method: POST
path: "/social_accounts/connect"
tags: ["Social Accounts"]
---

# Connect a Social Account

`POST /social_accounts/connect`

Starts an OAuth connection flow and returns an authorize_url where the user can connect a social account. LinkedIn supports personal profiles only, with scopes omitted. TikTok connects the authenticated user’s profile when scopes are omitted or company advertising assets with advertise. Meta Business and Snapchat support advertising connections only and require advertise. Personal profile connections must be completed in a browser signed in as the initiating Whop user.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string — The Account (biz_ identifier) to connect the social account for. An account-scoped API key may omit this to default to its own account. Omit for user profile connections.
  - `platform` 'meta_business' | 'tiktok' | 'linkedin' | 'snapchat', required — The platform to connect the social account on. Use `meta_business` to connect Meta Business assets, which is how Facebook Pages and Instagram accounts are connected — there is no separate `instagram` value. Use `tiktok` for TikTok accounts, `snapchat` for Snapchat Public Profiles, or `linkedin` to connect the authenticated user’s LinkedIn profile.
  - `redirect_url` string, required — Where to send the user once they finish connecting their accounts. Any `http` or `https` URL. If the connection fails, the user is redirected with a `social_account_error` query param.
  - `scopes` string[] — The connection purpose. For `meta_business` and `snapchat`, `advertise` is required and connects company advertising assets. For `linkedin`, omit scopes to connect the authenticated user’s profile; advertising is not supported. For `tiktok`, omit scopes to connect the authenticated user’s profile, or pass `advertise` to connect company advertising assets. Profile connections still request the platform permissions needed to read the profile.

## Response `200`

authorize url returned

- object
  - `authorize_url` string, required — The OAuth authorization URL to redirect the user to.

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `409` — Conflict

## Changes

> 74 revisions in range; 1 not diffed.

- **2026-09-25** `c1dceb26e505` — 1 info
  - added the new `snapchat` enum value to the request property `platform`
- **2026-09-24** `7fcefabddb0a` — 1 info
  - added the new `linkedin` enum value to the request property `platform`
- **2026-08-31** `4ddae15b5de8` — 1 breaking
  - the request property `redirect_url` became required
- **2026-08-12** `ae20b30817de` — 1 info
  - added the non-success response with the status `409`
- **2026-08-07** `f1020c3ecda4` — 2 info
  - added the optional property `error/code` to the response with the `400` status
  - added the optional property `error/code` to the response with the `401` status

[Full history](https://skmtc.dev/whop/apis/whop-api/changes/social_accounts/connect/post.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whop/apis/whop-api/revisions/78e1ed7366cd?raw)
