Skip to content

repost

Repost content on AT Protocol with optional quote text.

Authentication

Required: Yes (Private tool)

Parameters

uri (required)

  • Type: string
  • Description: AT Protocol URI of the post to repost

cid (required)

  • Type: string
  • Description: Content identifier (CID) of the post

text (optional)

  • Type: string
  • Constraints: Maximum 300 characters
  • Description: Quote text to add commentary to the repost (creates a quote post)

Response

typescript
{
  uri: string; // URI of the repost record
  cid: string; // CID of the repost record
  success: boolean; // Operation success status
  message: string; // Success message
  repostedPost: {
    uri: string; // URI of the reposted post
    cid: string; // CID of the reposted post
  }
  isQuotePost: boolean; // Whether this was a quote post (vs simple repost)
}

Examples

Simple Repost

json
{
  "uri": "at://did:plc:abc123/app.bsky.feed.post/xyz789",
  "cid": "bafyreiabc123..."
}

Response:

json
{
  "uri": "at://did:plc:myuser/app.bsky.feed.repost/repost123",
  "cid": "bafyreidef456...",
  "success": true,
  "message": "Repost created successfully",
  "repostedPost": {
    "uri": "at://did:plc:abc123/app.bsky.feed.post/xyz789",
    "cid": "bafyreiabc123..."
  },
  "isQuotePost": false
}

Quote Post (Repost with Commentary)

json
{
  "uri": "at://did:plc:abc123/app.bsky.feed.post/xyz789",
  "cid": "bafyreiabc123...",
  "text": "This is exactly what I was thinking! Great insights."
}

Error Handling

Common Errors

Invalid URI

json
{
  "error": "Invalid AT Protocol URI format",
  "code": "VALIDATION_ERROR"
}

Invalid CID

json
{
  "error": "CID must be a valid content identifier",
  "code": "VALIDATION_ERROR"
}

Best Practices

  • Use quote posts (with text) to add your own commentary
  • Store the returned repost URI if you need to unrepost later

See Also