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