API operational
All platform guides
Platform guide

Bluesky

Requires an app password created in Bluesky settings. Never enter your main account password.

available300 graphemes4 media items

Capabilities at a glance

AnalyticsNot availableCommentsSupportedMessagesNot availableRemote deletionSupportedToken refreshSupported
01

Connect Bluesky

Create the hosted connection URL on your server. The customer completes OAuth or the provider-specific credential form directly on PostGate.

Connection requestPostGate API
curl -X POST https://postgate.studio/api/profiles/connect \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "bluesky",
  "profile_group_id": "grp_acme123",
  "return_url": "https://app.example.com/settings/social"
}'
02

Publish to Bluesky

Use the connected profile ID as the target. Provider-specific fields live under post.options.bluesky so the unified envelope remains stable.

Post envelopePostGate API
{
  "post": {
    "body": "Launch day."
  },
  "profiles": [
    "pro_bluesky123"
  ],
  "media": [
    "med_01JXYZ"
  ]
}
03

Media and content limits

PostGate validates the request at creation and again at delivery. Account-level provider limits can be narrower than the general contract.

Text300 graphemes
LinksAllowed
Mediaimages · Up to 4
Image size1 MB
Video sizeProvider default
Video durationUp to Provider default
04

Operational notes

These constraints affect approval, connection health, or delivery behavior for this provider.

  • App-password connection is supported.

  • Video posting is not supported yet; only images are published.

  • Links and hashtags in the text become clickable facets automatically; @mentions do too when the handle resolves.

Check live capability before showing the option
Call GET /api/platforms. A provider appears only when it is enabled and configured for the current workspace.
Next guideBuild the complete post envelopeCompareAll platform capabilities