Send already written captions to the Social Planner as a draft post
social_content_studio.captions.push_to_planner
Takes captions that are ALREADY WRITTEN and creates ONE draft post in the Social Planner from them: it does not write, generate or improve any text. Writing captions, scripts or series with AI (Content Studio's generators) is done only from the MB Suite screen: there is no operation for it here, so when someone asks to write a caption with AI, say so (or write it yourself and send it with this operation). Up to 7 captions, one per network (instagram, facebook, linkedin, linkedin_profile, tiktok, twitter, google_business; no repeats): the first caption becomes the post's main text and each network gets its own text with its hashtags appended (#tag). The post is scheduled for tomorrow at 10:00 in the organization's time zone, in a format every network accepts (feed when possible; reel when TikTok is included); it is NOT published nor queued: schedule it with social_planner.posts.schedule. Caption plus hashtags must fit in 10,000 characters. Networks with no common format (TikTok together with X, LinkedIn or Google Business) are rejected with format_not_available: send them in separate calls. Returns the new post (same shape as social_planner.posts.get) and emits social_planner.post.created. Not idempotent: by REST send an Idempotency-Key header to retry safely; through the MCP there is no such key, so before retrying a call that failed without a clear answer, check social_planner.posts.list for the draft. Requires edit access to Content Studio AND to the Social Planner (an API key also needs the social_planner:write scope). With LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their fields are left out of the response (the permissions guide lists what each platform allows).
- Scope
social_content_studio:write- Permission
- Edit in the module
- MCP tool
social_content_studio_captions_push_to_plannerOn the full surface; on the compact one,mb_execute_operationwithid: "social_content_studio.captions.push_to_planner".- Events it can emit
- social_planner.post.created
Declared cost: up to 3 reads and 1 writes per call (they count against the daily quota).
Parameters
captionsarray<object>bodyOne caption per network, without repeating a network: the first is the post's main text, the others go as per-network texts.
topicstringbodyoptionalWhat the caption is about (it names the send in the audit trail).
Default: ""
Response
post_idstringpostobjectErrors
Example
curl -X POST "https://api.mb-suite.com/v1/social-content-studio/captions/push-to-planner" \
-H "Authorization: Bearer $MB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"captions": []
}'Try it with your test API key
With a test API key the request always goes to your practice organization: example data you can reset.
curl -X POST "https://api.mb-suite.com/v1/social-content-studio/captions/push-to-planner" \
-H "Authorization: Bearer $MB_TEST_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"captions": []
}'