Skip to main content
Glama
thenavidm

Buffer MCP Server

by thenavidm

Promote a channel-less draft into channel-specific posts

promote_content_item_draft_to_posts
Destructive

Promote a channel-less draft into channel-specific posts. This one-way action requires confirmation and either creates all posts or none if validation fails.

Instructions

Promote a channel-less draft into channel-specific posts. One-way: once promoted, the content item can no longer be edited as a draft. If any post fails validation, none are created. A failure can also be reported when a post could not be fully processed after the promotion already took effect; re-fetch the content item to check its state before retrying.

This API is an early preview and can change without a deprecation period.. Current Buffer GraphQL promoteContentItemDraftToPosts. Requires explicit confirmation. Use upstream fields to bound data; provider errors are failures even with HTTP 200.

Input Schema

NameRequiredDescriptionDefault
idNoThe content item to promote.
postsNo
fieldsNoUpstream field paths relative to the result, as in official CLI --fields. Default fields are bounded. Use items.id for connection nodes; pageInfo.endCursor for cursors.
tagIdsNo
accountNoPrivate account profile name. Selects credentials only; an organization default does not restrict provider token permissions.
confirmNoSet true only when the user asked for exactly this action.
payloadNoComplete native input object instead of individual input fields.
payload_fileNoRegular local JSON input file, no symlink, at most 1 MiB; cannot mix with payload or individual input fields.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changedv3.0.1
    • addedInput schema / $defs
      Added value: +{
      +  "button": {
      +    "description": "Action button. Optional: a post with no button, or `none`, publishes without a call-to-action. On edit, omitting it preserves the existing value.",
      +    "enum": [
      +      "book",
      +      "call",
      +      "learn_more",
      +      "none",
      +      "order",
      +      "shop",
      +      "signup"
      +    ],
      +    "type": "string"
      +  },
      +  "linkAttachment": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "description": {
      +        "description": "Description shown on the link card",
      +        "type": "string"
      +      },
      +      "thumbnail": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "url": {
      +            "description": "URL of the thumbnail image",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "title": {
      +        "description": "Title shown on the link card",
      +        "type": "string"
      +      },
      +      "url": {
      +        "description": "URL that the link asset has been built from",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "url"
      +    ],
      +    "type": "object"
      +  },
      +  "posts": {
      +    "description": "The channel-specific posts to create, one per channel. Provide at least\none post, and at most one post per channel.",
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "aiAssisted": {
      +          "description": "If this post was created with the help of AI",
      +          "type": "boolean"
      +        },
      +        "assets": {
      +          "description": "Ordered list of assets on this post.",
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "document": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "thumbnailUrl": {
      +                    "description": "Document thumbnail URL",
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "description": "Document title",
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "description": "Document URL",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "thumbnailUrl",
      +                  "title",
      +                  "url"
      +                ],
      +                "type": "object"
      +              },
      +              "image": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "metadata": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "altText": {
      +                        "description": "Alternative text for accessibility",
      +                        "type": "string"
      +                      },
      +                      "animatedThumbnail": {
      +                        "description": "Animated thumbnail URL",
      +                        "type": "string"
      +                      },
      +                      "dimensions": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "height": {
      +                            "description": "Image height in pixels",
      +                            "type": "integer"
      +                          },
      +                          "width": {
      +                            "description": "Image width in pixels",
      +                            "type": "integer"
      +                          }
      +                        },
      +                        "required": [
      +                          "height",
      +                          "width"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "userTags": {
      +                        "description": "Accounts to tag at specific points on the image. Each tag's x/y position uses normalized 0.0-1.0 coordinates - see UserTagInput.",
      +                        "items": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "handle": {
      +                              "description": "The handle (username) of the account to tag, without the leading @.",
      +                              "type": "string"
      +                            },
      +                            "x": {
      +                              "description": "Horizontal position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image width from the left edge (0.5 is the horizontal center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel X by the image width.",
      +                              "type": "number"
      +                            },
      +                            "y": {
      +                              "description": "Vertical position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image height from the top edge (0.5 is the vertical center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel Y by the image height.",
      +                              "type": "number"
      +                            }
      +                          },
      +                          "required": [
      +                            "handle",
      +                            "x",
      +                            "y"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "altText"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "thumbnailUrl": {
      +                    "description": "URL to the static thumbnail of the asset",
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "description": "URL to the file source",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "url"
      +                ],
      +                "type": "object"
      +              },
      +              "link": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "description": "Description of the link",
      +                    "type": "string"
      +                  },
      +                  "thumbnailUrl": {
      +                    "description": "Thumbnail URL of the link",
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "description": "Title of the link",
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "description": "URL to the link",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "url"
      +                ],
      +                "type": "object"
      +              },
      +              "video": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "metadata": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "thumbnailOffset": {
      +                        "description": "Offset of the thumbnail chosen for the video, in ms",
      +                        "type": "integer"
      +                      },
      +                      "title": {
      +                        "description": "Video title",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [],
      +                    "type": "object"
      +                  },
      +                  "thumbnailUrl": {
      +                    "description": "Do not use: social networks do not accept custom video thumbnail images, and\nthe API rejects video assets that set this field. To choose the video\nthumbnail, set `metadata.thumbnailOffset` to select a frame from the video\n(supported for Instagram, TikTok, and Pinterest only).",
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "description": "URL to the file source",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "url"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "channelId": {
      +          "description": "Channel's Id for which we want to create the post",
      +          "type": "string"
      +        },
      +        "draftId": {
      +          "description": "Is set when the Post is generated from a Draft",
      +          "type": "string"
      +        },
      +        "dueAt": {
      +          "description": "Date when the post is scheduled to be published",
      +          "type": "string"
      +        },
      +        "ideaId": {
      +          "description": "Is set when the Post is generated from an Idea",
      +          "type": "string"
      +        },
      +        "metadata": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "bluesky": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "linkAttachment": {
      +                  "$ref": "#/$defs/linkAttachment"
      +                },
      +                "thread": {
      +                  "$ref": "#/$defs/thread"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "facebook": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "annotations": {
      +                  "description": "Annotations representing entities in the text",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "content": {
      +                        "description": "The content of the annotation, e.g. '107509875938399'",
      +                        "type": "string"
      +                      },
      +                      "indices": {
      +                        "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      +                        "items": {
      +                          "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      +                          "type": "integer"
      +                        },
      +                        "type": "array"
      +                      },
      +                      "text": {
      +                        "description": "The text representation of the annotation, eg 'Buffer'",
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "description": "The URL the annotation points to, e.g. https://www.facebook.com/107509875938399",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "content",
      +                      "indices",
      +                      "text",
      +                      "url"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "firstComment": {
      +                  "description": "Facebook post's first comment",
      +                  "type": "string"
      +                },
      +                "linkAttachment": {
      +                  "$ref": "#/$defs/linkAttachment"
      +                },
      +                "type": {
      +                  "description": "The channel-specific type of the post, eg, post, story, reel for Facebook",
      +                  "enum": [
      +                    "post",
      +                    "reel",
      +                    "story"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type"
      +              ],
      +              "type": "object"
      +            },
      +            "google": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "detailsEvent": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "button": {
      +                      "$ref": "#/$defs/button"
      +                    },
      +                    "endDate": {
      +                      "description": "End date of the event. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    },
      +                    "isFullDayEvent": {
      +                      "description": "Indicate whether the event has a start or end time.",
      +                      "type": "boolean"
      +                    },
      +                    "link": {
      +                      "description": "Link to the action",
      +                      "type": "string"
      +                    },
      +                    "startDate": {
      +                      "description": "Start date of the event. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    },
      +                    "title": {
      +                      "description": "Title of the event. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "isFullDayEvent"
      +                  ],
      +                  "type": "object"
      +                },
      +                "detailsOffer": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "code": {
      +                      "description": "Coupon code for the offer",
      +                      "type": "string"
      +                    },
      +                    "endDate": {
      +                      "description": "End date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    },
      +                    "link": {
      +                      "description": "Link to the offer",
      +                      "type": "string"
      +                    },
      +                    "startDate": {
      +                      "description": "Start date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    },
      +                    "terms": {
      +                      "description": "Terms and Conditions",
      +                      "type": "string"
      +                    },
      +                    "title": {
      +                      "description": "Title of the offer. Required on create; optional on edit (omitted preserves existing value).",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "detailsWhatsNew": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "button": {
      +                      "$ref": "#/$defs/button"
      +                    },
      +                    "link": {
      +                      "description": "Link to the action",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "title": {
      +                  "description": "Title if available in the given GBP post type: event and offer",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "description": "The channel-specific type of the post, eg, post, offer, event for Google Business Profile",
      +                  "enum": [
      +                    "event",
      +                    "offer",
      +                    "whats_new"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type"
      +              ],
      +              "type": "object"
      +            },
      +            "instagram": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "firstComment": {
      +                  "description": "Instagram post's first comment",
      +                  "type": "string"
      +                },
      +                "geolocation": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "description": "The id of this location",
      +                      "type": "string"
      +                    },
      +                    "text": {
      +                      "description": "The name of this location",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "isAiGenerated": {
      +                  "description": "Whether the post discloses AI-generated content",
      +                  "type": "boolean"
      +                },
      +                "link": {
      +                  "description": "Shop Grid link for the post",
      +                  "type": "string"
      +                },
      +                "shouldShareToFeed": {
      +                  "description": "Indicates whether post should be shared to feed",
      +                  "type": "boolean"
      +                },
      +                "stickerFields": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "music": {
      +                      "description": "Placeholder text for the post's music",
      +                      "type": "string"
      +                    },
      +                    "other": {
      +                      "description": "Additional field for any other post content",
      +                      "type": "string"
      +                    },
      +                    "products": {
      +                      "description": "Placeholder text for the post's linked products",
      +                      "type": "string"
      +                    },
      +                    "text": {
      +                      "description": "Text for the Story or Reel",
      +                      "type": "string"
      +                    },
      +                    "topics": {
      +                      "description": "Placeholder text for the post's topics (Reels only)",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [],
      +                  "type": "object"
      +                },
      +                "type": {
      +                  "description": "The channel-specific type of the post, eg, post, story, reel for Instagram",
      +                  "enum": [
      +                    "carousel",
      +                    "event",
      +                    "ghost_post",
      +                    "offer",
      +                    "post",
      +                    "reel",
      +                    "short",
      +                    "story",
      +                    "thread",
      +                    "whats_new"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "shouldShareToFeed",
      +                "type"
      +              ],
      +              "type": "object"
      +            },
      +            "linkedin": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "annotations": {
      +                  "description": "Annotations representing entities in the text",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "entity": {
      +                        "description": "The entity of the annotation, e.g. urn:li:organization:1521226",
      +                        "type": "string"
      +                      },
      +                      "id": {
      +                        "description": "The id of the annotation, e.g. 1521226",
      +                        "type": "string"
      +                      },
      +                      "length": {
      +                        "description": "The length of the annotation, e.g. 6",
      +                        "type": "integer"
      +                      },
      +                      "link": {
      +                        "description": "The link of the annotation, e.g. https://www.linkedin.com/company/bufferapp",
      +                        "type": "string"
      +                      },
      +                      "localizedName": {
      +                        "description": "The localized name of the annotation, e.g. Buffer",
      +                        "type": "string"
      +                      },
      +                      "start": {
      +                        "description": "The start of the annotation, e.g. 5",
      +                        "type": "integer"
      +                      },
      +                      "vanityName": {
      +                        "description": "The vanity name of the annotation, e.g. bufferapp",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "entity",
      +                      "length",
      +                      "link",
      +                      "localizedName",
      +                      "start",
      +                      "vanityName"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "firstComment": {
      +                  "description": "LinkedIn post's first comment",
      +                  "type": "string"
      +                },
      +                "linkAttachment": {
      +                  "$ref": "#/$defs/linkAttachment"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "mastodon": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "spoilerText": {
      +                  "description": "Spoiler text hiding the root text of this post",
      +                  "type": "string"
      +                },
      +                "thread": {
      +                  "$ref": "#/$defs/thread"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "pinterest": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "boardServiceId": {
      +                  "description": "The board ID of the Pin, can be obtained when fetching the channel details with the following query:\n```\nquery GetChannelWithSubprofiles {\n  channel(input: { id: \"[CHANNEL_ID_HERE]\" }) {\n    metadata {\n      ... on PinterestMetadata {\n        boards {\n          serviceId\n        }\n      }\n    }\n  }\n}\n```\nRequired on create; optional on edit (omitted preserves existing board).",
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "description": "The title of the Pin",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "description": "The Pin destination link",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "substack": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "linkAttachment": {
      +                  "$ref": "#/$defs/linkAttachment"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "threads": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "linkAttachment": {
      +                  "$ref": "#/$defs/linkAttachment"
      +                },
      +                "locationId": {
      +                  "description": "LocationId associated with the post",
      +                  "type": "string"
      +                },
      +                "locationName": {
      +                  "description": "Location name associated with the post",
      +                  "type": "string"
      +                },
      +                "thread": {
      +                  "$ref": "#/$defs/thread"
      +                },
      +                "topic": {
      +                  "description": "Topic associated with the post",
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "description": "The type of the post",
      +                  "enum": [
      +                    "carousel",
      +                    "event",
      +                    "ghost_post",
      +                    "offer",
      +                    "post",
      +                    "reel",
      +                    "short",
      +                    "story",
      +                    "thread",
      +                    "whats_new"
      +                  ],
      +                  "type": "string"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "tiktok": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "isAiGenerated": {
      +                  "description": "Whether the post discloses AI-generated content (TikTok video only)",
      +                  "type": "boolean"
      +                },
      +                "title": {
      +                  "description": "The title of the TikTok post (for photo posts)",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "twitter": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "isAiGenerated": {
      +                  "description": "Whether the post discloses AI-generated content (original tweets only, never retweets)",
      +                  "type": "boolean"
      +                },
      +                "retweet": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "comment": {
      +                      "description": "Optional user comment shown above the embedded retweet",
      +                      "type": "string"
      +                    },
      +                    "id": {
      +                      "description": "Retweet ID",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id"
      +                  ],
      +                  "type": "object"
      +                },
      +                "thread": {
      +                  "$ref": "#/$defs/thread"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            },
      +            "youtube": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "categoryId": {
      +                  "description": "Youtube Category ID, one ID of this list:\nID: 1 -> Film & Animation\nID: 2 -> Autos & Vehicles\nID: 10 -> Music\nID: 15 -> Pets & Animals\nID: 17 -> Sports\nID: 19 -> Travel & Events\nID: 20 -> Gaming\nID: 22 -> People & Blogs\nID: 23 -> Comedy\nID: 24 -> Entertainment\nID: 25 -> News & Politics\nID: 26 -> Howto & Style\nID: 27 -> Education\nID: 28 -> Science & Technology\nID: 29 -> Nonprofits & Activism\n\nRequired on create; optional on edit (omitted preserves existing value).",
      +                  "type": "string"
      +                },
      +                "embeddable": {
      +                  "description": "Indicates whether the video allows embedding (default: true)",
      +                  "type": "boolean"
      +                },
      +                "isAiGenerated": {
      +                  "description": "Whether the post discloses AI-generated content",
      +                  "type": "boolean"
      +                },
      +                "license": {
      +                  "description": "Video license (default: youtube)",
      +                  "enum": [
      +                    "creativeCommon",
      +                    "youtube"
      +                  ],
      +                  "type": "string"
      +                },
      +                "madeForKids": {
      +                  "description": "Indicates whether the video is suitable for kids (default: false)",
      +                  "type": "boolean"
      +                },
      +                "notifySubscribers": {
      +                  "description": "Indicates whether to notify subscribers on publish video (default: true)",
      +                  "type": "boolean"
      +                },
      +                "privacy": {
      +                  "description": "Privacy setting for post (default: public)",
      +                  "enum": [
      +                    "private",
      +                    "public",
      +                    "unlisted"
      +                  ],
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "description": "Title of the Youtube post. Required on create; optional on edit (omitted preserves existing value).",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [],
      +              "type": "object"
      +            }
      +          },
      +          "required": [],
      +          "type": "object"
      +        },
      +        "mode": {
      +          "description": "How the post is being scheduled.",
      +          "enum": [
      +            "addToQueue",
      +            "customScheduled",
      +            "shareNext",
      +            "shareNow"
      +          ],
      +          "type": "string"
      +        },
      +        "needsApproval": {
      +          "description": "Submit the post for approval instead of scheduling it. A post submitted for\napproval is always a draft, so this conflicts with turning `saveToDraft` off.\n\nOnly valid when your posting policy on the target channel requires approval.",
      +          "type": "boolean"
      +        },
      +        "saveToDraft": {
      +          "description": "If true, saves the post as a draft instead of scheduling it.\nWhen saving as draft:\n- Post status will be 'draft' instead of 'buffer'\n- Posting limits are not checked\n- The post will not be published until explicitly scheduled",
      +          "type": "boolean"
      +        },
      +        "schedulingType": {
      +          "description": "Scheduling type to indicate notification publishing or automatic publishing",
      +          "enum": [
      +            "automatic",
      +            "notification"
      +          ],
      +          "type": "string"
      +        },
      +        "source": {
      +          "description": "source where the composer was initiated from, used for tracking.",
      +          "type": "string"
      +        },
      +        "tagIds": {
      +          "description": "List of tag IDs",
      +          "items": {
      +            "description": "List of tag IDs",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "text": {
      +          "description": "Text content of the Post.\n\nNote: for threaded posts, this needs to match the first item in the `thread` array.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "channelId",
      +        "mode",
      +        "schedulingType"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "tagIds": {
      +    "description": "Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all.",
      +    "items": {
      +      "description": "Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all.",
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "thread": {
      +    "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "assets": {
      +          "description": "Ordered list of assets on this threaded post",
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {},
      +            "required": [],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "metadata": {
      +          "additionalProperties": false,
      +          "properties": {},
      +          "required": [],
      +          "type": "object"
      +        },
      +        "text": {
      +          "description": "The text body content of the threaded post",
      +          "type": "string"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  }
      +}
    • changedInput schema / properties / confirm / description
      Previous value: -"Must be true for this exact user-requested Buffer mutation."New value: +"Set true only when the user asked for exactly this action."
    • addedInput schema / properties / payload / properties / posts / $ref
      Added value: +"#/$defs/posts"
    • removedInput schema / properties / payload / properties / posts / description
      Removed value: -"The channel-specific posts to create, one per channel. Provide at least\none post, and at most one post per channel."
    • removedInput schema / properties / payload / properties / posts / items
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "aiAssisted": {
      -      "description": "If this post was created with the help of AI",
      -      "type": "boolean"
      -    },
      -    "assets": {
      -      "description": "Ordered list of assets on this post.",
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "document": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "thumbnailUrl": {
      -                "description": "Document thumbnail URL",
      -                "type": "string"
      -              },
      -              "title": {
      -                "description": "Document title",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "Document URL",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "thumbnailUrl",
      -              "title",
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "image": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "metadata": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "altText": {
      -                    "description": "Alternative text for accessibility",
      -                    "type": "string"
      -                  },
      -                  "animatedThumbnail": {
      -                    "description": "Animated thumbnail URL",
      -                    "type": "string"
      -                  },
      -                  "dimensions": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "height": {
      -                        "description": "Image height in pixels",
      -                        "type": "integer"
      -                      },
      -                      "width": {
      -                        "description": "Image width in pixels",
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "height",
      -                      "width"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "userTags": {
      -                    "description": "Accounts to tag at specific points on the image. Each tag's x/y position uses normalized 0.0-1.0 coordinates - see UserTagInput.",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "handle": {
      -                          "description": "The handle (username) of the account to tag, without the leading @.",
      -                          "type": "string"
      -                        },
      -                        "x": {
      -                          "description": "Horizontal position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image width from the left edge (0.5 is the horizontal center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel X by the image width.",
      -                          "type": "number"
      -                        },
      -                        "y": {
      -                          "description": "Vertical position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image height from the top edge (0.5 is the vertical center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel Y by the image height.",
      -                          "type": "number"
      -                        }
      -                      },
      -                      "required": [
      -                        "handle",
      -                        "x",
      -                        "y"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  }
      -                },
      -                "required": [
      -                  "altText"
      -                ],
      -                "type": "object"
      -              },
      -              "thumbnailUrl": {
      -                "description": "URL to the static thumbnail of the asset",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the file source",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "link": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "description": "Description of the link",
      -                "type": "string"
      -              },
      -              "thumbnailUrl": {
      -                "description": "Thumbnail URL of the link",
      -                "type": "string"
      -              },
      -              "title": {
      -                "description": "Title of the link",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the link",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "video": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "metadata": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "thumbnailOffset": {
      -                    "description": "Offset of the thumbnail chosen for the video, in ms",
      -                    "type": "integer"
      -                  },
      -                  "title": {
      -                    "description": "Video title",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "thumbnailUrl": {
      -                "description": "Do not use: social networks do not accept custom video thumbnail images, and\nthe API rejects video assets that set this field. To choose the video\nthumbnail, set `metadata.thumbnailOffset` to select a frame from the video\n(supported for Instagram, TikTok, and Pinterest only).",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the file source",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "channelId": {
      -      "description": "Channel's Id for which we want to create the post",
      -      "type": "string"
      -    },
      -    "draftId": {
      -      "description": "Is set when the Post is generated from a Draft",
      -      "type": "string"
      -    },
      -    "dueAt": {
      -      "description": "Date when the post is scheduled to be published",
      -      "type": "string"
      -    },
      -    "ideaId": {
      -      "description": "Is set when the Post is generated from an Idea",
      -      "type": "string"
      -    },
      -    "metadata": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "bluesky": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "facebook": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "annotations": {
      -              "description": "Annotations representing entities in the text",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "content": {
      -                    "description": "The content of the annotation, e.g. '107509875938399'",
      -                    "type": "string"
      -                  },
      -                  "indices": {
      -                    "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      -                    "items": {
      -                      "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      -                      "type": "integer"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "text": {
      -                    "description": "The text representation of the annotation, eg 'Buffer'",
      -                    "type": "string"
      -                  },
      -                  "url": {
      -                    "description": "The URL the annotation points to, e.g. https://www.facebook.com/107509875938399",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "content",
      -                  "indices",
      -                  "text",
      -                  "url"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "firstComment": {
      -              "description": "Facebook post's first comment",
      -              "type": "string"
      -            },
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, story, reel for Facebook",
      -              "enum": [
      -                "post",
      -                "reel",
      -                "story"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "google": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "detailsEvent": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "button": {
      -                  "description": "Action button. Optional: a post with no button, or `none`, publishes without a call-to-action. On edit, omitting it preserves the existing value.",
      -                  "enum": [
      -                    "book",
      -                    "call",
      -                    "learn_more",
      -                    "none",
      -                    "order",
      -                    "shop",
      -                    "signup"
      -                  ],
      -                  "type": "string"
      -                },
      -                "endDate": {
      -                  "description": "End date of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "isFullDayEvent": {
      -                  "description": "Indicate whether the event has a start or end time.",
      -                  "type": "boolean"
      -                },
      -                "link": {
      -                  "description": "Link to the action",
      -                  "type": "string"
      -                },
      -                "startDate": {
      -                  "description": "Start date of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "description": "Title of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "isFullDayEvent"
      -              ],
      -              "type": "object"
      -            },
      -            "detailsOffer": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "code": {
      -                  "description": "Coupon code for the offer",
      -                  "type": "string"
      -                },
      -                "endDate": {
      -                  "description": "End date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "link": {
      -                  "description": "Link to the offer",
      -                  "type": "string"
      -                },
      -                "startDate": {
      -                  "description": "Start date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "terms": {
      -                  "description": "Terms and Conditions",
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "description": "Title of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "detailsWhatsNew": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "button": {
      -                  "description": "Action button. Optional: a post with no button, or `none`, publishes without a call-to-action. On edit, omitting it preserves the existing value.",
      -                  "enum": [
      -                    "book",
      -                    "call",
      -                    "learn_more",
      -                    "none",
      -                    "order",
      -                    "shop",
      -                    "signup"
      -                  ],
      -                  "type": "string"
      -                },
      -                "link": {
      -                  "description": "Link to the action",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "title": {
      -              "description": "Title if available in the given GBP post type: event and offer",
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, offer, event for Google Business Profile",
      -              "enum": [
      -                "event",
      -                "offer",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "instagram": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "firstComment": {
      -              "description": "Instagram post's first comment",
      -              "type": "string"
      -            },
      -            "geolocation": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "id": {
      -                  "description": "The id of this location",
      -                  "type": "string"
      -                },
      -                "text": {
      -                  "description": "The name of this location",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content",
      -              "type": "boolean"
      -            },
      -            "link": {
      -              "description": "Shop Grid link for the post",
      -              "type": "string"
      -            },
      -            "shouldShareToFeed": {
      -              "description": "Indicates whether post should be shared to feed",
      -              "type": "boolean"
      -            },
      -            "stickerFields": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "music": {
      -                  "description": "Placeholder text for the post's music",
      -                  "type": "string"
      -                },
      -                "other": {
      -                  "description": "Additional field for any other post content",
      -                  "type": "string"
      -                },
      -                "products": {
      -                  "description": "Placeholder text for the post's linked products",
      -                  "type": "string"
      -                },
      -                "text": {
      -                  "description": "Text for the Story or Reel",
      -                  "type": "string"
      -                },
      -                "topics": {
      -                  "description": "Placeholder text for the post's topics (Reels only)",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, story, reel for Instagram",
      -              "enum": [
      -                "carousel",
      -                "event",
      -                "ghost_post",
      -                "offer",
      -                "post",
      -                "reel",
      -                "short",
      -                "story",
      -                "thread",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "shouldShareToFeed",
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "linkedin": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "annotations": {
      -              "description": "Annotations representing entities in the text",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "entity": {
      -                    "description": "The entity of the annotation, e.g. urn:li:organization:1521226",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "The id of the annotation, e.g. 1521226",
      -                    "type": "string"
      -                  },
      -                  "length": {
      -                    "description": "The length of the annotation, e.g. 6",
      -                    "type": "integer"
      -                  },
      -                  "link": {
      -                    "description": "The link of the annotation, e.g. https://www.linkedin.com/company/bufferapp",
      -                    "type": "string"
      -                  },
      -                  "localizedName": {
      -                    "description": "The localized name of the annotation, e.g. Buffer",
      -                    "type": "string"
      -                  },
      -                  "start": {
      -                    "description": "The start of the annotation, e.g. 5",
      -                    "type": "integer"
      -                  },
      -                  "vanityName": {
      -                    "description": "The vanity name of the annotation, e.g. bufferapp",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "entity",
      -                  "length",
      -                  "link",
      -                  "localizedName",
      -                  "start",
      -                  "vanityName"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "firstComment": {
      -              "description": "LinkedIn post's first comment",
      -              "type": "string"
      -            },
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "mastodon": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "spoilerText": {
      -              "description": "Spoiler text hiding the root text of this post",
      -              "type": "string"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "pinterest": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "boardServiceId": {
      -              "description": "The board ID of the Pin, can be obtained when fetching the channel details with the following query:\n```\nquery GetChannelWithSubprofiles {\n  channel(input: { id: \"[CHANNEL_ID_HERE]\" }) {\n    metadata {\n      ... on PinterestMetadata {\n        boards {\n          serviceId\n        }\n      }\n    }\n  }\n}\n```\nRequired on create; optional on edit (omitted preserves existing board).",
      -              "type": "string"
      -            },
      -            "title": {
      -              "description": "The title of the Pin",
      -              "type": "string"
      -            },
      -            "url": {
      -              "description": "The Pin destination link",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "substack": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "threads": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "locationId": {
      -              "description": "LocationId associated with the post",
      -              "type": "string"
      -            },
      -            "locationName": {
      -              "description": "Location name associated with the post",
      -              "type": "string"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "topic": {
      -              "description": "Topic associated with the post",
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "The type of the post",
      -              "enum": [
      -                "carousel",
      -                "event",
      -                "ghost_post",
      -                "offer",
      -                "post",
      -                "reel",
      -                "short",
      -                "story",
      -                "thread",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "tiktok": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content (TikTok video only)",
      -              "type": "boolean"
      -            },
      -            "title": {
      -              "description": "The title of the TikTok post (for photo posts)",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "twitter": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content (original tweets only, never retweets)",
      -              "type": "boolean"
      -            },
      -            "retweet": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "comment": {
      -                  "description": "Optional user comment shown above the embedded retweet",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Retweet ID",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "youtube": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "categoryId": {
      -              "description": "Youtube Category ID, one ID of this list:\nID: 1 -> Film & Animation\nID: 2 -> Autos & Vehicles\nID: 10 -> Music\nID: 15 -> Pets & Animals\nID: 17 -> Sports\nID: 19 -> Travel & Events\nID: 20 -> Gaming\nID: 22 -> People & Blogs\nID: 23 -> Comedy\nID: 24 -> Entertainment\nID: 25 -> News & Politics\nID: 26 -> Howto & Style\nID: 27 -> Education\nID: 28 -> Science & Technology\nID: 29 -> Nonprofits & Activism\n\nRequired on create; optional on edit (omitted preserves existing value).",
      -              "type": "string"
      -            },
      -            "embeddable": {
      -              "description": "Indicates whether the video allows embedding (default: true)",
      -              "type": "boolean"
      -            },
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content",
      -              "type": "boolean"
      -            },
      -            "license": {
      -              "description": "Video license (default: youtube)",
      -              "enum": [
      -                "creativeCommon",
      -                "youtube"
      -              ],
      -              "type": "string"
      -            },
      -            "madeForKids": {
      -              "description": "Indicates whether the video is suitable for kids (default: false)",
      -              "type": "boolean"
      -            },
      -            "notifySubscribers": {
      -              "description": "Indicates whether to notify subscribers on publish video (default: true)",
      -              "type": "boolean"
      -            },
      -            "privacy": {
      -              "description": "Privacy setting for post (default: public)",
      -              "enum": [
      -                "private",
      -                "public",
      -                "unlisted"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "description": "Title of the Youtube post. Required on create; optional on edit (omitted preserves existing value).",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        }
      -      },
      -      "required": [],
      -      "type": "object"
      -    },
      -    "mode": {
      -      "description": "How the post is being scheduled.",
      -      "enum": [
      -        "addToQueue",
      -        "customScheduled",
      -        "shareNext",
      -        "shareNow"
      -      ],
      -      "type": "string"
      -    },
      -    "needsApproval": {
      -      "description": "Submit the post for approval instead of scheduling it. A post submitted for\napproval is always a draft, so this conflicts with turning `saveToDraft` off.\n\nOnly valid when your posting policy on the target channel requires approval.",
      -      "type": "boolean"
      -    },
      -    "saveToDraft": {
      -      "description": "If true, saves the post as a draft instead of scheduling it.\nWhen saving as draft:\n- Post status will be 'draft' instead of 'buffer'\n- Posting limits are not checked\n- The post will not be published until explicitly scheduled",
      -      "type": "boolean"
      -    },
      -    "schedulingType": {
      -      "description": "Scheduling type to indicate notification publishing or automatic publishing",
      -      "enum": [
      -        "automatic",
      -        "notification"
      -      ],
      -      "type": "string"
      -    },
      -    "source": {
      -      "description": "source where the composer was initiated from, used for tracking.",
      -      "type": "string"
      -    },
      -    "tagIds": {
      -      "description": "List of tag IDs",
      -      "items": {
      -        "description": "List of tag IDs",
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "text": {
      -      "description": "Text content of the Post.\n\nNote: for threaded posts, this needs to match the first item in the `thread` array.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "channelId",
      -    "mode",
      -    "schedulingType"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / payload / properties / posts / type
      Removed value: -"array"
    • addedInput schema / properties / payload / properties / tagIds / $ref
      Added value: +"#/$defs/tagIds"
    • removedInput schema / properties / payload / properties / tagIds / description
      Removed value: -"Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all."
    • removedInput schema / properties / payload / properties / tagIds / items
      Removed value: -{
      -  "description": "Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all.",
      -  "type": "string"
      -}
    • removedInput schema / properties / payload / properties / tagIds / type
      Removed value: -"array"
    • addedInput schema / properties / posts / $ref
      Added value: +"#/$defs/posts"
    • removedInput schema / properties / posts / description
      Removed value: -"The channel-specific posts to create, one per channel. Provide at least\none post, and at most one post per channel."
    • removedInput schema / properties / posts / items
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "aiAssisted": {
      -      "description": "If this post was created with the help of AI",
      -      "type": "boolean"
      -    },
      -    "assets": {
      -      "description": "Ordered list of assets on this post.",
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "document": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "thumbnailUrl": {
      -                "description": "Document thumbnail URL",
      -                "type": "string"
      -              },
      -              "title": {
      -                "description": "Document title",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "Document URL",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "thumbnailUrl",
      -              "title",
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "image": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "metadata": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "altText": {
      -                    "description": "Alternative text for accessibility",
      -                    "type": "string"
      -                  },
      -                  "animatedThumbnail": {
      -                    "description": "Animated thumbnail URL",
      -                    "type": "string"
      -                  },
      -                  "dimensions": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "height": {
      -                        "description": "Image height in pixels",
      -                        "type": "integer"
      -                      },
      -                      "width": {
      -                        "description": "Image width in pixels",
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "height",
      -                      "width"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "userTags": {
      -                    "description": "Accounts to tag at specific points on the image. Each tag's x/y position uses normalized 0.0-1.0 coordinates - see UserTagInput.",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "handle": {
      -                          "description": "The handle (username) of the account to tag, without the leading @.",
      -                          "type": "string"
      -                        },
      -                        "x": {
      -                          "description": "Horizontal position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image width from the left edge (0.5 is the horizontal center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel X by the image width.",
      -                          "type": "number"
      -                        },
      -                        "y": {
      -                          "description": "Vertical position of the tag as a normalized decimal float between 0.0 and 1.0 - the fraction of the image height from the top edge (0.5 is the vertical center). Pass a number, not a string, and do not use pixel coordinates; to convert, divide the pixel Y by the image height.",
      -                          "type": "number"
      -                        }
      -                      },
      -                      "required": [
      -                        "handle",
      -                        "x",
      -                        "y"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  }
      -                },
      -                "required": [
      -                  "altText"
      -                ],
      -                "type": "object"
      -              },
      -              "thumbnailUrl": {
      -                "description": "URL to the static thumbnail of the asset",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the file source",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "link": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "description": {
      -                "description": "Description of the link",
      -                "type": "string"
      -              },
      -              "thumbnailUrl": {
      -                "description": "Thumbnail URL of the link",
      -                "type": "string"
      -              },
      -              "title": {
      -                "description": "Title of the link",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the link",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          },
      -          "video": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "metadata": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "thumbnailOffset": {
      -                    "description": "Offset of the thumbnail chosen for the video, in ms",
      -                    "type": "integer"
      -                  },
      -                  "title": {
      -                    "description": "Video title",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "thumbnailUrl": {
      -                "description": "Do not use: social networks do not accept custom video thumbnail images, and\nthe API rejects video assets that set this field. To choose the video\nthumbnail, set `metadata.thumbnailOffset` to select a frame from the video\n(supported for Instagram, TikTok, and Pinterest only).",
      -                "type": "string"
      -              },
      -              "url": {
      -                "description": "URL to the file source",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "url"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    },
      -    "channelId": {
      -      "description": "Channel's Id for which we want to create the post",
      -      "type": "string"
      -    },
      -    "draftId": {
      -      "description": "Is set when the Post is generated from a Draft",
      -      "type": "string"
      -    },
      -    "dueAt": {
      -      "description": "Date when the post is scheduled to be published",
      -      "type": "string"
      -    },
      -    "ideaId": {
      -      "description": "Is set when the Post is generated from an Idea",
      -      "type": "string"
      -    },
      -    "metadata": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "bluesky": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "facebook": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "annotations": {
      -              "description": "Annotations representing entities in the text",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "content": {
      -                    "description": "The content of the annotation, e.g. '107509875938399'",
      -                    "type": "string"
      -                  },
      -                  "indices": {
      -                    "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      -                    "items": {
      -                      "description": "The indices of the annotation in the text, e.g. [6, 9] (from 6 to 9 characters in the text)",
      -                      "type": "integer"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "text": {
      -                    "description": "The text representation of the annotation, eg 'Buffer'",
      -                    "type": "string"
      -                  },
      -                  "url": {
      -                    "description": "The URL the annotation points to, e.g. https://www.facebook.com/107509875938399",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "content",
      -                  "indices",
      -                  "text",
      -                  "url"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "firstComment": {
      -              "description": "Facebook post's first comment",
      -              "type": "string"
      -            },
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, story, reel for Facebook",
      -              "enum": [
      -                "post",
      -                "reel",
      -                "story"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "google": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "detailsEvent": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "button": {
      -                  "description": "Action button. Optional: a post with no button, or `none`, publishes without a call-to-action. On edit, omitting it preserves the existing value.",
      -                  "enum": [
      -                    "book",
      -                    "call",
      -                    "learn_more",
      -                    "none",
      -                    "order",
      -                    "shop",
      -                    "signup"
      -                  ],
      -                  "type": "string"
      -                },
      -                "endDate": {
      -                  "description": "End date of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "isFullDayEvent": {
      -                  "description": "Indicate whether the event has a start or end time.",
      -                  "type": "boolean"
      -                },
      -                "link": {
      -                  "description": "Link to the action",
      -                  "type": "string"
      -                },
      -                "startDate": {
      -                  "description": "Start date of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "description": "Title of the event. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "isFullDayEvent"
      -              ],
      -              "type": "object"
      -            },
      -            "detailsOffer": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "code": {
      -                  "description": "Coupon code for the offer",
      -                  "type": "string"
      -                },
      -                "endDate": {
      -                  "description": "End date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "link": {
      -                  "description": "Link to the offer",
      -                  "type": "string"
      -                },
      -                "startDate": {
      -                  "description": "Start date of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                },
      -                "terms": {
      -                  "description": "Terms and Conditions",
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "description": "Title of the offer. Required on create; optional on edit (omitted preserves existing value).",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "detailsWhatsNew": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "button": {
      -                  "description": "Action button. Optional: a post with no button, or `none`, publishes without a call-to-action. On edit, omitting it preserves the existing value.",
      -                  "enum": [
      -                    "book",
      -                    "call",
      -                    "learn_more",
      -                    "none",
      -                    "order",
      -                    "shop",
      -                    "signup"
      -                  ],
      -                  "type": "string"
      -                },
      -                "link": {
      -                  "description": "Link to the action",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "title": {
      -              "description": "Title if available in the given GBP post type: event and offer",
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, offer, event for Google Business Profile",
      -              "enum": [
      -                "event",
      -                "offer",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "instagram": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "firstComment": {
      -              "description": "Instagram post's first comment",
      -              "type": "string"
      -            },
      -            "geolocation": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "id": {
      -                  "description": "The id of this location",
      -                  "type": "string"
      -                },
      -                "text": {
      -                  "description": "The name of this location",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content",
      -              "type": "boolean"
      -            },
      -            "link": {
      -              "description": "Shop Grid link for the post",
      -              "type": "string"
      -            },
      -            "shouldShareToFeed": {
      -              "description": "Indicates whether post should be shared to feed",
      -              "type": "boolean"
      -            },
      -            "stickerFields": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "music": {
      -                  "description": "Placeholder text for the post's music",
      -                  "type": "string"
      -                },
      -                "other": {
      -                  "description": "Additional field for any other post content",
      -                  "type": "string"
      -                },
      -                "products": {
      -                  "description": "Placeholder text for the post's linked products",
      -                  "type": "string"
      -                },
      -                "text": {
      -                  "description": "Text for the Story or Reel",
      -                  "type": "string"
      -                },
      -                "topics": {
      -                  "description": "Placeholder text for the post's topics (Reels only)",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [],
      -              "type": "object"
      -            },
      -            "type": {
      -              "description": "The channel-specific type of the post, eg, post, story, reel for Instagram",
      -              "enum": [
      -                "carousel",
      -                "event",
      -                "ghost_post",
      -                "offer",
      -                "post",
      -                "reel",
      -                "short",
      -                "story",
      -                "thread",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "shouldShareToFeed",
      -            "type"
      -          ],
      -          "type": "object"
      -        },
      -        "linkedin": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "annotations": {
      -              "description": "Annotations representing entities in the text",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "entity": {
      -                    "description": "The entity of the annotation, e.g. urn:li:organization:1521226",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "The id of the annotation, e.g. 1521226",
      -                    "type": "string"
      -                  },
      -                  "length": {
      -                    "description": "The length of the annotation, e.g. 6",
      -                    "type": "integer"
      -                  },
      -                  "link": {
      -                    "description": "The link of the annotation, e.g. https://www.linkedin.com/company/bufferapp",
      -                    "type": "string"
      -                  },
      -                  "localizedName": {
      -                    "description": "The localized name of the annotation, e.g. Buffer",
      -                    "type": "string"
      -                  },
      -                  "start": {
      -                    "description": "The start of the annotation, e.g. 5",
      -                    "type": "integer"
      -                  },
      -                  "vanityName": {
      -                    "description": "The vanity name of the annotation, e.g. bufferapp",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "entity",
      -                  "length",
      -                  "link",
      -                  "localizedName",
      -                  "start",
      -                  "vanityName"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "firstComment": {
      -              "description": "LinkedIn post's first comment",
      -              "type": "string"
      -            },
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "mastodon": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "spoilerText": {
      -              "description": "Spoiler text hiding the root text of this post",
      -              "type": "string"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "pinterest": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "boardServiceId": {
      -              "description": "The board ID of the Pin, can be obtained when fetching the channel details with the following query:\n```\nquery GetChannelWithSubprofiles {\n  channel(input: { id: \"[CHANNEL_ID_HERE]\" }) {\n    metadata {\n      ... on PinterestMetadata {\n        boards {\n          serviceId\n        }\n      }\n    }\n  }\n}\n```\nRequired on create; optional on edit (omitted preserves existing board).",
      -              "type": "string"
      -            },
      -            "title": {
      -              "description": "The title of the Pin",
      -              "type": "string"
      -            },
      -            "url": {
      -              "description": "The Pin destination link",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "substack": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "threads": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "linkAttachment": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "description": {
      -                  "description": "Description shown on the link card",
      -                  "type": "string"
      -                },
      -                "thumbnail": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "url": {
      -                      "description": "URL of the thumbnail image",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "url"
      -                  ],
      -                  "type": "object"
      -                },
      -                "title": {
      -                  "description": "Title shown on the link card",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "description": "URL that the link asset has been built from",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "url"
      -              ],
      -              "type": "object"
      -            },
      -            "locationId": {
      -              "description": "LocationId associated with the post",
      -              "type": "string"
      -            },
      -            "locationName": {
      -              "description": "Location name associated with the post",
      -              "type": "string"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "topic": {
      -              "description": "Topic associated with the post",
      -              "type": "string"
      -            },
      -            "type": {
      -              "description": "The type of the post",
      -              "enum": [
      -                "carousel",
      -                "event",
      -                "ghost_post",
      -                "offer",
      -                "post",
      -                "reel",
      -                "short",
      -                "story",
      -                "thread",
      -                "whats_new"
      -              ],
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "tiktok": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content (TikTok video only)",
      -              "type": "boolean"
      -            },
      -            "title": {
      -              "description": "The title of the TikTok post (for photo posts)",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "twitter": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content (original tweets only, never retweets)",
      -              "type": "boolean"
      -            },
      -            "retweet": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "comment": {
      -                  "description": "Optional user comment shown above the embedded retweet",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Retweet ID",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "thread": {
      -              "description": "The ordered list of posts that make up the thread (not paginated). This\narray is the source of truth for what gets published: every post in the\nthread, including the root post, must be provided here. Posts are\npublished in order, each replying to the previous one. The first item is\nthe root post and should match the top-level `text` on the post input.",
      -              "items": {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "assets": {
      -                    "description": "Ordered list of assets on this threaded post",
      -                    "items": {
      -                      "additionalProperties": false,
      -                      "properties": {},
      -                      "required": [],
      -                      "type": "object"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "metadata": {
      -                    "additionalProperties": false,
      -                    "properties": {},
      -                    "required": [],
      -                    "type": "object"
      -                  },
      -                  "text": {
      -                    "description": "The text body content of the threaded post",
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        },
      -        "youtube": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "categoryId": {
      -              "description": "Youtube Category ID, one ID of this list:\nID: 1 -> Film & Animation\nID: 2 -> Autos & Vehicles\nID: 10 -> Music\nID: 15 -> Pets & Animals\nID: 17 -> Sports\nID: 19 -> Travel & Events\nID: 20 -> Gaming\nID: 22 -> People & Blogs\nID: 23 -> Comedy\nID: 24 -> Entertainment\nID: 25 -> News & Politics\nID: 26 -> Howto & Style\nID: 27 -> Education\nID: 28 -> Science & Technology\nID: 29 -> Nonprofits & Activism\n\nRequired on create; optional on edit (omitted preserves existing value).",
      -              "type": "string"
      -            },
      -            "embeddable": {
      -              "description": "Indicates whether the video allows embedding (default: true)",
      -              "type": "boolean"
      -            },
      -            "isAiGenerated": {
      -              "description": "Whether the post discloses AI-generated content",
      -              "type": "boolean"
      -            },
      -            "license": {
      -              "description": "Video license (default: youtube)",
      -              "enum": [
      -                "creativeCommon",
      -                "youtube"
      -              ],
      -              "type": "string"
      -            },
      -            "madeForKids": {
      -              "description": "Indicates whether the video is suitable for kids (default: false)",
      -              "type": "boolean"
      -            },
      -            "notifySubscribers": {
      -              "description": "Indicates whether to notify subscribers on publish video (default: true)",
      -              "type": "boolean"
      -            },
      -            "privacy": {
      -              "description": "Privacy setting for post (default: public)",
      -              "enum": [
      -                "private",
      -                "public",
      -                "unlisted"
      -              ],
      -              "type": "string"
      -            },
      -            "title": {
      -              "description": "Title of the Youtube post. Required on create; optional on edit (omitted preserves existing value).",
      -              "type": "string"
      -            }
      -          },
      -          "required": [],
      -          "type": "object"
      -        }
      -      },
      -      "required": [],
      -      "type": "object"
      -    },
      -    "mode": {
      -      "description": "How the post is being scheduled.",
      -      "enum": [
      -        "addToQueue",
      -        "customScheduled",
      -        "shareNext",
      -        "shareNow"
      -      ],
      -      "type": "string"
      -    },
      -    "needsApproval": {
      -      "description": "Submit the post for approval instead of scheduling it. A post submitted for\napproval is always a draft, so this conflicts with turning `saveToDraft` off.\n\nOnly valid when your posting policy on the target channel requires approval.",
      -      "type": "boolean"
      -    },
      -    "saveToDraft": {
      -      "description": "If true, saves the post as a draft instead of scheduling it.\nWhen saving as draft:\n- Post status will be 'draft' instead of 'buffer'\n- Posting limits are not checked\n- The post will not be published until explicitly scheduled",
      -      "type": "boolean"
      -    },
      -    "schedulingType": {
      -      "description": "Scheduling type to indicate notification publishing or automatic publishing",
      -      "enum": [
      -        "automatic",
      -        "notification"
      -      ],
      -      "type": "string"
      -    },
      -    "source": {
      -      "description": "source where the composer was initiated from, used for tracking.",
      -      "type": "string"
      -    },
      -    "tagIds": {
      -      "description": "List of tag IDs",
      -      "items": {
      -        "description": "List of tag IDs",
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "text": {
      -      "description": "Text content of the Post.\n\nNote: for threaded posts, this needs to match the first item in the `thread` array.",
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "channelId",
      -    "mode",
      -    "schedulingType"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / properties / posts / type
      Removed value: -"array"
    • addedInput schema / properties / tagIds / $ref
      Added value: +"#/$defs/tagIds"
    • removedInput schema / properties / tagIds / description
      Removed value: -"Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all."
    • removedInput schema / properties / tagIds / items
      Removed value: -{
      -  "description": "Tags to apply to this content item. Omit to keep the current tags. An\nempty list or null removes them all.",
      -  "type": "string"
      -}
    • removedInput schema / properties / tagIds / type
      Removed value: -"array"
  2. First observedv2.0.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the destructiveHint/openWorldHint annotations, it discloses rich behavior: the one-way draft-to-post transition, all-or-nothing validation ('if any post fails validation, none are created'), partial-success failure mode, and the instruction to re-fetch state before retrying. These are exactly the operational details an agent needs for a destructive, non-idempotent mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence followed by behavioral caveats in priority order. It is dense but every sentence carries operational weight; only the double-period artifact ('period.. Current Buffer GraphQL') is cosmetic noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, nested, 8-parameter mutation with no output schema, the description covers the crucial behavior (irreversibility, atomicity, partial-failure recovery, confirmation). It does not describe the shape of the posts it creates, but that is defined in the schema, keeping this complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so the schema already documents most parameters. The description adds useful guidance for the `fields` parameter ('use upstream fields to bound data') and the confirmation requirement tied to `confirm`, but it does not explain the posts array or other parameters beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (promote) and a precise transformation (channel-less draft -> channel-specific posts), making it instantly distinguishable from siblings like update_content_item_draft or add_post_to_content_item. An agent knows exactly what state change this tool performs without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It establishes key preconditions (one-way irreversibility, explicit confirmation required, preview API) that tell the agent when this operation is appropriate. It stops short of naming alternatives or stating when NOT to choose this over creating posts directly, so it's clear context without routing exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.