ข้ามไปที่เนื้อหา

Bluesky Settings

RedPanda public API provider settings for Bluesky — 300-character cap, images or video, and follow-up replies.

2 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

เริ่มใช้งานฟรี

Quick reference

PropertyValue
Identifierbluesky
ConnectDashboard credentials — GET /api/v1/public/social/bluesky returns 400
Setup guideBluesky
Character cap300 graphemes (main caption and each follow-up)
Main-post mediaText-only OK; up to 4 images or 1 MP4 (never mixed; max 300 MB, 10 min)

Settings on create post

The main caption is body; attachments use top-level media or mediaByIntegrationId. Optional compose fields and follow-up replies use the nested bluesky bucket:

{
  "providerSettingsByIntegrationId": {
    "<bluesky-integration-id>": {
      "bluesky": {
        "threadGate": "everyone",
        "linkUrl": "https://example.com/article",
        "linkTitle": "Optional title",
        "linkDescription": "Optional summary",
        "quoteUrl": "https://bsky.app/profile/handle/post/abc",
        "replies": []
      }
    }
  }
}

Scheduled same-account replies example:

{
  "providerSettingsByIntegrationId": {
    "<bluesky-integration-id>": {
      "bluesky": {
        "replies": [
          {
            "id": "reply-1",
            "message": "More detail in the reply.",
            "delaySeconds": 300,
            "media": [{ "id": "<media-id>", "path": "FILE_PATH_FROM_UPLOAD" }]
          }
        ]
      }
    }
  }
}

Field reference

FieldTypeRequiredNotes
bluesky.threadGatestringNoeveryone (default), mentioned, following, followers, or nobody
bluesky.linkUrlstringNoExternal link card — text-only posts only
bluesky.linkTitlestringNoOptional link card title
bluesky.linkDescriptionstringNoOptional link card description
bluesky.quoteUrlstringNobsky.app or AT URI of post to quote — not with media or link card
bluesky.repliesarrayNoFollow-up replies after the root post publishes
bluesky.replies[].idstringNoStable row id (composer-generated)
bluesky.replies[].messagestringYes (per row)Reply text; 300 graphemes when status is scheduled
bluesky.replies[].delaySecondsnumberYes (per row)Wait after the previous part publishes
bluesky.replies[].mediaarrayNoSame rules as main post — up to four images or one MP4, not mixed

Follow-up comments

Same-account replies live in bluesky.replies. Each row needs message and delaySeconds. Optional media uses the same { id, path } shape as the main post — upload first via POST /api/v1/public/upload.

Complete example

Schedule a text post with one follow-up reply:

curl -X POST https://api-production-a424.up.railway.app/api/v1/public/posts 
  -H "Authorization: Bearer opo_your_programmatic_token" 
  -H "Content-Type: application/json" 
  -d '{
    "body": "Shipping a small update today.",
    "scheduledAt": "2026-05-15T10:00:00.000Z",
    "status": "scheduled",
    "integrationIds": ["<bluesky-integration-id>"],
    "isGlobal": true,
    "providerSettingsByIntegrationId": {
      "<bluesky-integration-id>": {
        "bluesky": {
          "replies": [
            { "id": "reply-1", "message": "Thread continues here.", "delaySeconds": 120 }
          ]
        }
      }
    }
  }'
ค้นหาเอกสาร
ค้นหาหน้าเอกสาร
ศูนย์ช่วยเหลือ