Update New PostUpdate an existing scheduled social media post for one or more platforms (e.g., Facebook, Instagram, LinkedIn, Twitter, YouTube, Google Business, TikTok, Pinterest) for a specific brand. Use this API after obtaining schedule_post_id
from create-new-post
, media_ids
from upload-media
, and connected_profile_id
from integrate-accounts
. Supports updating scheduling and approval workflows. Each platform has specific validation rules for post_type
and media constraints.
Method: POST Endpoint: /api/api-services/v1/brand-service/update-new-post
Returns: Confirmation of post update Update New PostPOST
https://app.brand2social.com/api/api-services/v1/brand-service/update-new-post
Field Type Required Description Authorization string (header) Yes Bearer token for authentication brand_id int64 Yes ID of the brand schedule_post_id int64 Yes ID of the scheduled post to update (from create-new-post
) new_post_data object Yes Updated details of the post Field Type Required Description scheduled_event_requests_data object Yes Platform-specific post requests (at least one platform required) Field Type Required Description facebook_requests_data array of objects No Facebook post details. Valid post_type
: post
, reels
, story
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings No Encrypted media IDs (from upload-media
). Max 1 video or multiple images (per config). No media with link
. description string Yes Post text content. Required if no media. Max length per config. link string No URL to include in the post. Must be valid. Not allowed with media. post_type string Yes Type of post: post
, reels
, story
has_comment boolean No Whether to include a comment comment_description string No Comment text if has_comment
is true thumbnail string No Thumbnail URL for video posts (reels/story). Must be valid.
instagram_requests_data array of objects No Instagram post details. Valid post_type
: post
, reels
, story
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings Yes Encrypted media IDs (from upload-media
). Posts: images only. Reels/story: 1 video or 1 image. cover_url string No Cover image URL for reels. Must be valid. description string No Post text content. Max length and hashtags per config. post_type string Yes Type of post: post
, reels
, story
has_comment boolean No Whether to include a comment comment_description string No Comment text if has_comment
is true post_on_my_wall boolean No Whether to post on the user’s wall
twitter_requests_data array of objects No Twitter post details. Valid post_type
: post
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings No Encrypted media IDs (from upload-media
). Max 1 video or multiple images (per config). description string Yes Post text content. Required if no media. Max length per config. post_type string Yes Type of post: post
youtube_requests_data array of objects No YouTube post details. Valid post_type
: video
, shorts
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings Yes Encrypted media IDs (from upload-media
). 1 video only. description string No Post text content. Max length per config. No angle brackets. post_type string Yes Type of post: video
, shorts
title string Yes Video title. Max length per config. privacy string Yes Privacy setting (e.g., public, private, unlisted) has_comment boolean No Whether to include a comment comment_description string No Comment text if has_comment
is true thumbnail string No Thumbnail URL. Must be valid.
linkedin_requests_data array of objects No LinkedIn post details. Valid post_type
: post
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings No Encrypted media IDs (from upload-media
). Max 1 video or multiple images (per config). description string Yes Post text content. Required if no media. Max length per config. post_type string Yes Type of post: post
title string No Post title. Max length per config. has_comment boolean No Whether to include a comment comment_description string No Comment text if has_comment
is true
gbusiness_requests_data array of objects No Google Business post details. Valid post_type
: STANDARD
, EVENT
, OFFER
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings No Encrypted media IDs (from upload-media
). Images only. Max count per config. description string No Post text content. Required if no media. Max length per config. post_type string Yes Type of post: STANDARD
, EVENT
, OFFER
title string Yes Post title. Max length per config. button_type string No Button type: None
, CALL
, or others. Requires url
if not None
or CALL
. start_date string (ISO 8601) No Start date for EVENT/OFFER. Must be before end_date
. end_date string (ISO 8601) No End date for EVENT/OFFER. Must be after start_date
. start_time string (ISO 8601) No Start time for EVENT/OFFER. end_time string (ISO 8601) No End time for EVENT/OFFER. offer_code string No Offer code for OFFER posts. terms_conditions string No Terms and conditions for OFFER posts. url string No URL for button. Must be valid if button_type
requires it. schedule_time string (ISO 8601) No Scheduled time for the post.
tiktok_requests_data array of objects No TikTok post details. Valid post_type
: DIRECT_POST
, UPLOAD_TO_INBOX
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings Yes Encrypted media IDs (from upload-media
). DIRECT_POST: 1 video or images (no PNG). UPLOAD_TO_INBOX: images only (no PNG). description string Yes Post text content. Required if no media. Max length per config. title string No Post title. Max length per config. privacy string Yes Privacy setting (e.g., public, private) post_type string Yes Type of post: DIRECT_POST
, UPLOAD_TO_INBOX
allow_user_to_comment boolean No Whether to allow comments allow_user_to_duet boolean No Whether to allow duets allow_user_to_switch boolean No Whether to allow switching disclosure_content boolean No Whether to disclose branded content your_brand boolean No Whether the content is your brand branded_content boolean No Whether the content is branded
pinterest_requests_data array of objects No Pinterest post details. Valid post_type
: post
Field Type Required Description connected_profile_id int64 Yes ID of the connected profile (from integrate-accounts
) media_ids array of strings Yes Encrypted media IDs (from upload-media
). 1 video or multiple images (per config). title string No Pin title. Max length per config. description string No Pin description. Max length per config. link string No URL to include in the pin. Must be valid. cover_image_url string No Cover image URL for video pins. Required for videos. Must be valid. post_type string Yes Type of post: post
board_name string Yes Name of the Pinterest board (from get-social-profiles
)
scheduled_time string (ISO 8601) No Updated scheduled post time (e.g., "2025-08-20T14:30:00Z") is_scheduled_post boolean Yes Whether the post is scheduled needs_approval boolean No Whether the post requires approval
curl --location 'https://app.brand2social.com/api/api-services/v1/brand-service/update-new-post' \
--header 'Authorization: Bearer B2S_dummyToken' \
--header 'Content-Type: application/json' \
--data-raw '{
"brand_id": 123,
"schedule_post_id": 456,
"new_post_data": {
"scheduled_event_requests_data": {
"facebook_requests_data": [
{
"connected_profile_id": 98765,
"media_ids": ["encrypted_media_id_1"],
"description": "Updated product announcement!",
"post_type": "post",
"has_comment": false
}
],
"instagram_requests_data": [
{
"connected_profile_id": 98766,
"media_ids": ["encrypted_media_id_2"],
"cover_url": "https://example.com/updated_cover.jpg",
"description": "Updated product launch!",
"post_type": "reels",
"has_comment": false,
"post_on_my_wall": true
}
],
"pinterest_requests_data": [
{
"connected_profile_id": 98772,
"media_ids": ["encrypted_media_id_8"],
"title": "Updated Product Pin",
"description": "Discover our updated product!",
"link": "https://example.com/updated_product",
"cover_image_url": "https://example.com/updated_cover.jpg",
"post_type": "post",
"board_name": "Product Board"
}
]
},
"scheduled_time": "2025-08-21T14:30:00Z",
"is_scheduled_post": true,
"needs_approval": true
}
}'
Response {
"status": "SUCCESS",
"http_code": 200,
"message": "Post updated successfully",
"data": ""
}
Error Response {
"status": "FAILURE",
"http_code": 400,
"message": "Validation errors",
"data": [
"integrationservice.brand_id_is_required",
"Facebook post: Multiple videos not allowed",
"Instagram reels: Invalid aspect ratio"
]
}