Connect a Bluesky account

Connect a Bluesky account using handle and app password authentication.

Connect a Bluesky account using handle and app password authentication. Bluesky uses app passwords instead of OAuth, so credentials are provided directly.

Prerequisites:

  1. Configure Bluesky in your social networks: POST /v1/social-networks with network: "bluesky"
  2. Create an app password at https://bsky.app/settings/app-passwords

Reconnecting: if the handle is already connected for the same tenantId, the existing account is replaced (credentials and profile refreshed) instead of duplicated. Connecting the same handle under a different tenantId creates a separate account.

Security Note: App passwords are scoped credentials that don't grant access to your main password. They can be revoked at any time from Bluesky settings.

Permissions: Requires accounts:connect. Access is limited by the API key creator's current organization membership and stored key ceiling. See Organization permissions. Replacing an existing account additionally requires accounts:reconnect; changing its tenant additionally requires accounts:assign_tenant.

POST
/v1/social-accounts/bluesky

Request Body

application/json
  1. body

Request body for creating a Bluesky social account

handle*string

Bluesky handle (e.g., user.bsky.social)

Length1 <= length
appPassword*string

Bluesky app password (from bsky.app/settings/app-passwords)

Length1 <= length
tenantId?string

Optional tenant ID to associate with this account

Response Body

Bluesky account connected successfully

application/json
  1. response

Successful Bluesky account creation response

success*boolean
data*

Social account information

Example Request
curl -X POST 'https://api.outstand.so/v1/social-accounts/bluesky' \  -H 'Content-Type: application/json' \  -d '{  "handle": "string",  "appPassword": "string"}'
Example Response
{  "success": true,  "data": {    "id": "string",    "orgId": "string",    "tenant_id": "string",    "nickname": "string",    "network": "string",    "username": "string",    "profile_picture_url": "string",    "network_unique_id": "string",    "network_webhook_reference_id": "string",    "customer_social_network_id": 0,    "accountType": "string",    "isActive": 0,    "createdAt": "string",    "tokens": {      "access_token": "string"    }  }}