social.coves.community.post.update

coves.social

Documentation

Update an existing post

main procedure

Update an existing post

Input

Encodingapplication/json
content string Optional

Updated content - main text for text posts, description for media, etc.

maxLength: 100000 bytesmaxGraphemes: 10000 graphemes
editNote string Optional

Optional note explaining the edit

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
embed union Optional

Updated embedded content (note: changing embed type may be restricted)

facets array Optional

Updated annotations for rich text (mentions, links, formatting, block structure)

maxLength: 200 items
langs array Optional

Updated languages (ISO 639-1)

maxLength: 3 items
tags array Optional

Updated topic tags

maxLength: 8 items
title string Optional

Updated title

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
uri stringat-uri Required

AT-URI of the post to update

Output

Encodingapplication/json
cid stringcid Required

New CID of the updated post

uri stringat-uri Required

AT-URI of the updated post

Errors

PostNotFound Post not found
NotAuthorized User is not authorized to edit this post
EditWindowExpired Edit window has expired (posts can only be edited within 24 hours)
InvalidUpdate Invalid update operation (e.g., changing post type)
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "type": "procedure",
  "input": {
    "schema": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the post to update"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 640,
            "maxGraphemes": 64
          },
          "maxLength": 8,
          "description": "Updated topic tags"
        },
        "embed": {
          "refs": [
            "social.coves.embed.images",
            "social.coves.embed.video",
            "social.coves.embed.external",
            "social.coves.embed.post"
          ],
          "type": "union",
          "description": "Updated embedded content (note: changing embed type may be restricted)"
        },
        "langs": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "language"
          },
          "maxLength": 3,
          "description": "Updated languages (ISO 639-1)"
        },
        "title": {
          "type": "string",
          "maxLength": 3000,
          "description": "Updated title",
          "maxGraphemes": 300
        },
        "facets": {
          "type": "array",
          "items": {
            "ref": "social.coves.richtext.facet",
            "type": "ref"
          },
          "maxLength": 200,
          "description": "Updated annotations for rich text (mentions, links, formatting, block structure)"
        },
        "labels": {
          "ref": "com.atproto.label.defs#selfLabels",
          "type": "ref",
          "description": "Updated self-applied content labels"
        },
        "content": {
          "type": "string",
          "maxLength": 100000,
          "description": "Updated content - main text for text posts, description for media, etc.",
          "maxGraphemes": 10000
        },
        "editNote": {
          "type": "string",
          "maxLength": 3000,
          "description": "Optional note explaining the edit",
          "maxGraphemes": 300
        }
      }
    },
    "encoding": "application/json"
  },
  "errors": [
    {
      "name": "PostNotFound",
      "description": "Post not found"
    },
    {
      "name": "NotAuthorized",
      "description": "User is not authorized to edit this post"
    },
    {
      "name": "EditWindowExpired",
      "description": "Edit window has expired (posts can only be edited within 24 hours)"
    },
    {
      "name": "InvalidUpdate",
      "description": "Invalid update operation (e.g., changing post type)"
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "uri",
        "cid"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "New CID of the updated post"
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the updated post"
        }
      }
    },
    "encoding": "application/json"
  },
  "description": "Update an existing post"
}

Lexicon Garden

@