{
"id": "app.chronosky.schedule.updatePost",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"description": "Post ID to update."
},
"text": {
"type": "string",
"maxLength": 3000,
"description": "New post text content.",
"maxGraphemes": 300
},
"embed": {
"refs": [
"#imagesEmbed",
"app.bsky.embed.images",
"app.bsky.embed.external",
"app.bsky.embed.record",
"app.bsky.embed.video",
"app.bsky.embed.recordWithMedia"
],
"type": "union",
"description": "Embedded content (images, external links, records). Use #imagesEmbed to reference existing images by CID."
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Language codes (ISO 639-1)."
},
"facets": {
"type": "array",
"items": {
"ref": "app.bsky.richtext.facet",
"type": "ref"
},
"description": "Rich text facets (links, mentions, tags)."
},
"labels": {
"ref": "com.atproto.label.defs#selfLabels",
"type": "ref",
"description": "Self-applied content labels for content warnings (AT Protocol standard)."
},
"scheduledAt": {
"type": "string",
"format": "datetime",
"maxLength": 100,
"description": "New scheduled publication datetime (ISO 8601)."
},
"threadgateRules": {
"type": "array",
"items": {
"refs": [
"app.bsky.feed.threadgate#mentionRule",
"app.bsky.feed.threadgate#followerRule",
"app.bsky.feed.threadgate#followingRule",
"app.bsky.feed.threadgate#listRule"
],
"type": "union"
},
"maxLength": 5,
"description": "Thread gate rules to control who can reply"
},
"disableQuotePosts": {
"type": "boolean",
"description": "Whether to disable quote posts"
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "PostNotFound"
},
{
"name": "PostNotPending"
},
{
"name": "NoFieldsProvided"
}
],
"output": {
"schema": {
"type": "object",
"required": [
"post"
],
"properties": {
"post": {
"ref": "app.chronosky.schedule.listPosts#scheduledPost",
"type": "ref"
}
}
},
"encoding": "application/json"
},
"description": "Update a scheduled post. Only PENDING posts can be updated."
},
"imageRef": {
"type": "object",
"required": [
"alt"
],
"properties": {
"alt": {
"type": "string",
"maxLength": 1000,
"description": "Alt text for the image."
},
"cid": {
"type": "string",
"maxLength": 200,
"description": "CID of an image blob. Can reference an existing image in the post or a newly uploaded image via media.uploadBlob."
},
"image": {
"type": "blob",
"accept": [
"image/jpeg",
"image/png",
"image/webp",
"image/gif"
],
"maxSize": 1000000,
"description": "New image blob (for newly uploaded images)."
}
},
"description": "Image reference that supports both new blob uploads and existing image CID references."
},
"imagesEmbed": {
"type": "object",
"required": [
"images"
],
"properties": {
"images": {
"type": "array",
"items": {
"ref": "#imageRef",
"type": "ref"
},
"maxLength": 4
}
},
"description": "Images embed that supports CID references for existing images."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}