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:
- Configure Bluesky in your social networks:
POST /v1/social-networkswithnetwork: "bluesky" - 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.
application/json- body
Request body for creating a Bluesky social account
handle*stringBluesky handle (e.g., user.bsky.social)
1 <= lengthappPassword*stringBluesky app password (from bsky.app/settings/app-passwords)
1 <= lengthtenantId?stringOptional tenant ID to associate with this account
Bluesky account connected successfully
application/json- response
Successful Bluesky account creation response
success*booleandata*Social account information
curl -X POST 'https://api.outstand.so/v1/social-accounts/bluesky' \ -H 'Content-Type: application/json' \ -d '{ "handle": "string", "appPassword": "string"}'{ "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" } }}