Appearance
STEP 3 — CONNECT AUDIENCE
8. GET /onboarding/social/platforms
Get all available social platforms for connection. Requires authentication.
Request
http
GET /onboarding/social/platforms
Authorization: Bearer <token>Response 200 OK
json
{
"status": "success",
"data": {
"platforms": [
{
"id": "youtube",
"label": "YouTube",
"icon_url": "https://cdn.droptv.com/icons/youtube.svg",
"is_recommended": true,
"is_connected": false,
"connected_account": null,
"benefits": ["Import content", "Verify following", "Sync subscribers"]
},
{
"id": "instagram",
"label": "Instagram",
"icon_url": "https://cdn.droptv.com/icons/instagram.svg",
"is_recommended": false,
"is_connected": false,
"connected_account": null,
"benefits": ["Import audience", "Cross-promote"]
},
{
"id": "tiktok",
"label": "TikTok",
"icon_url": "https://cdn.droptv.com/icons/tiktok.svg",
"is_recommended": false,
"is_connected": false,
"connected_account": null,
"benefits": ["Import followers", "Cross-promote"]
},
{
"id": "facebook",
"label": "Facebook",
"icon_url": "https://cdn.droptv.com/icons/facebook.svg",
"is_recommended": false,
"is_connected": false,
"connected_account": null,
"benefits": ["Import audience", "Cross-promote"]
}
]
}
}9. POST /onboarding/social/connect
Connect a social platform by sending the token from the social SDK (e.g. Google or Instagram SDK) in the request body. Requires authentication.
Request Body
json
{
"platform": "youtube",
"token": "ya29.a0AfB_byC..."
}Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| platform | string | Yes | youtube, instagram, tiktok, facebook |
| token | string | Yes | Access token from the platform's SDK (e.g. Google OAuth, Instagram) |
Response 200 OK
json
{
"status": "success",
"message": "YouTube connected successfully",
"data": {
"platform": "youtube",
"is_connected": true,
"connected_account": {
"account_id": "UCxxxxxxxxxxxxxxx",
"username": "ComedyKingOfficial",
"display_name": "Comedy King",
"profile_image_url": "https://yt3.ggpht.com/...",
"subscribers": 245000,
"subscribers_formatted": "245K",
"video_count": 312,
"verified": true
},
"onboarding": {
"current_step": 4,
"total_steps": 6,
"percent_complete": 40
}
}
}Errors
json
{
"status": "error",
"code": 401,
"message": "Invalid or expired token"
}