Skip to main content
Glama
thenavidm

Buffer MCP Server

by thenavidm

Create a new post

create_post
Destructive

Create and schedule a social media post on Buffer, with options for draft, queue, or immediate sharing. Requires explicit confirmation.

Instructions

Create a new post. Current Buffer GraphQL createPost. Requires explicit confirmation. Use upstream fields to bound data; provider errors are failures even with HTTP 200.

Input Schema

NameRequiredDescriptionDefault
modeNoHow the post is being scheduled.
textNoText content of the Post. Note: for threaded posts, this needs to match the first item in the `thread` array.
dueAtNoDate when the post is scheduled to be published
assetsNo
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.
ideaIdNoIs set when the Post is generated from an Idea
sourceNosource where the composer was initiated from, used for tracking.
tagIdsNoList of tag IDs
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.
draftIdNoIs set when the Post is generated from a Draft
payloadNoComplete native input object instead of individual input fields.
metadataNo
channelIdNoChannel's Id for which we want to create the post
aiAssistedNoIf this post was created with the help of AI
saveToDraftNo
payload_fileNoRegular local JSON input file, no symlink, at most 1 MiB; cannot mix with payload or individual input fields.
needsApprovalNo
schedulingTypeNoScheduling type to indicate notification publishing or automatic publishing

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed32 schema fields changedv3.0.1
    • addedInput schema / $defs
      Added value: +{
      +  "assets": {
      +    "description": "Ordered list of assets on this post.",
      +    "items": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "document": {
      +          "$ref": "#/$defs/document"
      +        },
      +        "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": {
      +          "$ref": "#/$defs/link"
      +        },
      +        "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": {
      +              "$ref": "#/$defs/thumbnailUrl"
      +            },
      +            "url": {
      +              "description": "URL to the file source",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "url"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "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"
      +  },
      +  "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"
      +  },
      +  "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"
      +  },
      +  "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"
      +  },
      +  "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"
      +  },
      +  "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"
      +  },
      +  "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": {
      +              "document": {
      +                "$ref": "#/$defs/document"
      +              },
      +              "image": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "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": {
      +                "$ref": "#/$defs/link"
      +              },
      +              "video": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "thumbnailUrl": {
      +                    "$ref": "#/$defs/thumbnailUrl"
      +                  },
      +                  "url": {
      +                    "description": "URL to the file source",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "url"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "metadata": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "bluesky": {
      +              "additionalProperties": false,
      +              "properties": {},
      +              "required": [],
      +              "type": "object"
      +            },
      +            "threads": {
      +              "additionalProperties": false,
      +              "properties": {},
      +              "required": [],
      +              "type": "object"
      +            }
      +          },
      +          "required": [],
      +          "type": "object"
      +        },
      +        "text": {
      +          "description": "The text body content of the threaded post",
      +          "type": "string"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  "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"
      +  }
      +}
    • addedInput schema / properties / assets / $ref
      Added value: +"#/$defs/assets"
    • removedInput schema / properties / assets / description
      Removed value: -"Ordered list of assets on this post."
    • removedInput schema / properties / assets / items
      Removed value: -{
      -  "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"
      -}
    • removedInput schema / properties / assets / type
      Removed value: -"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 / metadata / $ref
      Added value: +"#/$defs/metadata"
    • removedInput schema / properties / metadata / additionalProperties
      Removed value: -false
    • removedInput schema / properties / metadata / properties
      Removed value: -{
      -  "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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"
      -  }
      -}
    • removedInput schema / properties / metadata / required
      Removed value: -[]
    • removedInput schema / properties / metadata / type
      Removed value: -"object"
    • addedInput schema / properties / needsApproval / $ref
      Added value: +"#/$defs/needsApproval"
    • removedInput schema / properties / needsApproval / description
      Removed value: -"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."
    • removedInput schema / properties / needsApproval / type
      Removed value: -"boolean"
    • addedInput schema / properties / payload / properties / assets / $ref
      Added value: +"#/$defs/assets"
    • removedInput schema / properties / payload / properties / assets / description
      Removed value: -"Ordered list of assets on this post."
    • removedInput schema / properties / payload / properties / assets / items
      Removed value: -{
      -  "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"
      -}
    • removedInput schema / properties / payload / properties / assets / type
      Removed value: -"array"
    • addedInput schema / properties / payload / properties / metadata / $ref
      Added value: +"#/$defs/metadata"
    • removedInput schema / properties / payload / properties / metadata / additionalProperties
      Removed value: -false
    • removedInput schema / properties / payload / properties / metadata / properties
      Removed value: -{
      -  "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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": {
      -                  "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": {
      -                      "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": {
      -                      "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"
      -            },
      -            "metadata": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "bluesky": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                },
      -                "threads": {
      -                  "additionalProperties": false,
      -                  "properties": {},
      -                  "required": [],
      -                  "type": "object"
      -                }
      -              },
      -              "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"
      -  }
      -}
    • removedInput schema / properties / payload / properties / metadata / required
      Removed value: -[]
    • removedInput schema / properties / payload / properties / metadata / type
      Removed value: -"object"
    • addedInput schema / properties / payload / properties / needsApproval / $ref
      Added value: +"#/$defs/needsApproval"
    • removedInput schema / properties / payload / properties / needsApproval / description
      Removed value: -"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."
    • removedInput schema / properties / payload / properties / needsApproval / type
      Removed value: -"boolean"
    • addedInput schema / properties / payload / properties / saveToDraft / $ref
      Added value: +"#/$defs/saveToDraft"
    • removedInput schema / properties / payload / properties / saveToDraft / description
      Removed value: -"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"
    • removedInput schema / properties / payload / properties / saveToDraft / type
      Removed value: -"boolean"
    • addedInput schema / properties / saveToDraft / $ref
      Added value: +"#/$defs/saveToDraft"
    • removedInput schema / properties / saveToDraft / description
      Removed value: -"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"
    • removedInput schema / properties / saveToDraft / type
      Removed value: -"boolean"
  2. First observedv2.0.0

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, openWorldHint=true, and readOnlyHint=false. The description adds that provider errors surface as failures even on HTTP 200, which is useful. But it omits the real behavioral stakes: the post may auto-publish or queue, credentials come from `account`, and quota limits apply. With annotations carrying the safety profile, more mutation specifics were expected.

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

Conciseness3/5

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

Four short sentences, front-loaded with purpose, no fluff. But they are terse to the point of under-specification, and the 'GraphQL createPost' clause adds little an agent can act on.

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

Completeness2/5

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

For a 19-parameter, nested-object, zero-required-field mutation with no output schema and destructive semantics, the description is far too thin. It never mentions the account/channel requirement, draft vs. scheduled vs. immediate paths, or post-publish irreversibility.

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

Parameters2/5

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

Parameter semantics are almost entirely delegated to the schema, which has 79% description coverage across 19 parameters. The description only gestures at 'upstream fields' (the `fields` param) and confirmation, adding little beyond what the schema documents, and 0 required parameters makes the create invocation non-obvious.

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

Purpose3/5

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

The description states a clear verb+resource ('Create a new post') and names the underlying operation ('Current Buffer GraphQL createPost'). However, it does not differentiate this tool from sibling posting tools like edit_post, add_post_to_content_item, or create_content_item_draft, leaving the agent to infer scope.

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

Usage Guidelines2/5

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

The only guidance is 'Requires explicit confirmation', which is a constraint rather than when-to-use advice. No alternatives (e.g., edit_post, saveToDraft, needsApproval paths) or exclusions are named, despite a crowded sibling set.

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