---
title: "Connect social account"
method: POST
path: "/v1/social-accounts/connect"
tags: ["Social Accounts"]
---

# Connect social account

`POST /v1/social-accounts/connect`

## Request

- Base URL: `https://api.postlake.dev`
- URL: `https://api.postlake.dev/v1/social-accounts/connect`
- Auth: `bearerAuth` (a scheme the document does not define)

Connect a social account to PostLake with supported credentials. X requires the hosted POST /v1/connect-link OAuth flow and always uses PostLake's shared app. External X tokens are not accepted here.

## Request body

- object
  - `platform` 'bluesky' | 'threads' | 'x' | 'linkedin' | 'instagram' | 'tiktok' | 'facebook' | 'youtube' | 'pinterest', required
  - `profile` string: Optional profile username to attach to
  - `handle` string: Platform-specific handle
  - `appPassword` string: Platform-specific password (e.g. for Bluesky)

## Response `201`

Created

- object
  - `id` string, required
  - `platform` 'bluesky' | 'threads' | 'x' | 'linkedin' | 'instagram' | 'tiktok' | 'facebook' | 'youtube' | 'pinterest', required
  - `handle` string, required
  - `profileId` string, nullable, required
  - `status` string, required

## Other responses

- `400`: Invalid input
- `401`: Unauthorized
- `402`: Entitlement exceeded
- `502`: Unsupported platform

---

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