Menú

Referencia de la API · Social Planner

Planes

social_planner · plans · 4 operaciones

GET/v1/social-planner/plans

List content plans

social_planner.plans.list

LecturaIdempotenteDesde 2026-11-01

Lists the Social Planner content plans (made with MIA in the chat or imported from a spreadsheet or through the API), newest first, paginated by cursor. A plan groups the draft posts it created (post_ids) with its name, networks, objective and status. Content Studio series are not plans and are left out, reading on until the page is full (up to 400 read per call), so a page brings fewer than limit only with has_more true at that limit: keep following next_cursor. Requires view access to the Social Planner.

Alcance
social_planner:read
Permiso
Ver el módulo
Tool del MCP
social_planner_plans_listEn la superficie completa; en la compacta, mb_execute_operation con id: "social_planner.plans.list".

Costo declarado: hasta 401 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

limitintegerqueryopcional

How many items this page brings at most (see the maximum and the default in the schema).

Por defecto: 50

cursorstringqueryopcional

The next_cursor of the previous page, exactly as it came (only for the same list and filters); without it, the first page.

Respuesta

dataarray<object>
has_moreboolean
next_cursorstring

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/social-planner/plans" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/social-planner/plans" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/social-planner/plans/{plan_id}

Get one content plan

social_planner.plans.get

LecturaIdempotenteDesde 2026-11-01

Returns a content plan: name, created_via (chat_plan from MIA's chat; csv_import for an import, from the screen's spreadsheet or the API), networks, objective (awareness, engagement, conversion or community), status, the ids of its posts and, per post, the editorial details (headline, subcopy, copies per network, scheduled date, planner post id) with planner_status: the status its Social Planner post has today (the plan keeps the one each post was born with in status). A Content Studio series id returns 404 plan_not_found. Requires view access.

Alcance
social_planner:read
Permiso
Ver el módulo
Tool del MCP
social_planner_plans_getEn la superficie completa; en la compacta, mb_execute_operation con id: "social_planner.plans.get".

Costo declarado: hasta 61 lecturas y 0 escrituras por llamada (cuentan en el cupo diario).

Parámetros

plan_idstringrutarequerido

The plan id (from social_planner.plans.list).

Respuesta

idstring

The plan id.

namestring

Its name.

created_viastring | null

chat_plan (MIA's chat) or csv_import (an import: the screen's spreadsheet or the API).

art_modestring | null

How its art is made (manual: a person uploads it).

contextstring | null

social.

platformsarray<string> | null

The networks of its posts.

post_countnumber | null

How many posts it has.

approved_countnumber | null

Posts the plan counts as approved (all of them when it is created).

post_idsarray<string> | null

Its Social Planner posts.

postsarray<object> | null

Its posts with the editorial details they were born with.

statusstring | null

The plan's status.

objectivestring | null

awareness, engagement, conversion or community.

topicstring | null

The brief summarized (topic_summary of the import).

created_bystring | null

Who created it.

created_atnumber | null

When it was created (epoch ms).

updated_atnumber | null

Last change (epoch ms).

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/social-planner/plans/{plan_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl "https://api.mb-suite.com/v1/social-planner/plans/{plan_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/social-planner/plans

Create a content plan with its draft posts

social_planner.plans.create

EscrituraDesde 2026-11-01

Imports a content plan: one draft post per item (1 to 30) with its date and time (in the organization's timezone), networks, format, headline, subcopy, call to action, subject and the copy per network (hashtags are appended with a #, whether or not they bring one), plus an editorial note as the first comment of each post. Posts are always created as drafts marked 'needs art' (art_source manual_design) and nothing is scheduled. An optional media_url per post is downloaded in the background into the post (if storage has room); if it fails the post stays without art. plan is the payload: { plan_name, objective? (awareness, engagement, conversion or community), topic_summary?, posts: [{ date YYYY-MM-DD, time HH:mm, format, platforms, headline, subcopy?, cta_text?, subject product|service|brand_content, content_type_label?, details?, copies: [{ platform, text, hashtags? }], media_url? }] }, up to 150 KB. With an API key source is always import. Returns the plan id and the post ids. Requires full access.

Alcance
social_planner:write
Permiso
Editar en el módulo
Tool del MCP
social_planner_plans_createEn la superficie completa; en la compacta, mb_execute_operation con id: "social_planner.plans.create".
Eventos que puede emitir
social_planner.post.created

Costo declarado: hasta 2 lecturas y 61 escrituras por llamada (cuentan en el cupo diario).

Parámetros

planobjectcuerporequerido

The plan (up to 150 KB): {plan_name (up to 80), objective (awareness, engagement, conversion or community; optional), topic_summary (up to 600; optional), posts: [{date YYYY-MM-DD and time HH:mm in the organization's time zone, format (feed, reel, story, carousel, text or document; it must be available on every network of the post: document is LinkedIn only), platforms (instagram, facebook, linkedin, tiktok, twitter, google_business; 1 to 6), headline (up to 120), subcopy (up to 200), cta_text (up to 60), subject (product, service or brand_content), content_type_label (up to 40), details (up to 600), copies: [{platform, text (up to 2,200), hashtags (up to 30, with or without #)}] covering every network of the post when present, media_url (optional: an external image or video that is downloaded in the background; in a document post, a PDF, PowerPoint or Word file of up to 100 MB)}]}. Validated as a whole: 400 plan_invalid with the field.

sourceenumcuerpoopcional

import (the default, and the only one for an API key or app): 1 to 30 posts, copies optional; chat is MIA's plan card (4 to 30 posts).

Valores: chat, import · Por defecto: "import"

Respuesta

plan_idstring
post_idsarray<string>
media_countnumber
media_dispatchedboolean

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/social-planner/plans" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "plan": {}
}'

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X POST "https://api.mb-suite.com/v1/social-planner/plans" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "plan": {}
}'
DELETE/v1/social-planner/plans/{plan_id}

Delete a content plan and its untouched drafts

social_planner.plans.delete

IrreversibleDesde 2026-11-01

Deletes a content plan (the undo of a plan): its posts still in draft are deleted, and the posts someone already moved forward (review, approved, scheduled, published) are kept, with the plan reduced to them. What is deleted goes to the 30-day trash: the plan with its drafts, or only the drafts when the plan survives. Only plans (chat_plan, csv_import); a Content Studio series is 404. Requires full access.

Con una API key, este DELETE se ejecuta directo: el registro queda 30 días en la papelera y la respuesta trae su trash_item_id. Con un token OAuth, y por el MCP, pide dry_run → confirm_token.

Alcance
social_planner:write y «Permitir eliminar» (social_planner:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
social_planner_plans_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "social_planner.plans.delete".

Costo declarado: hasta 61 lecturas y 62 escrituras por llamada (cuentan en el cupo diario).

Parámetros

plan_idstringrutarequerido

The plan id (from social_planner.plans.list).

Respuesta

deleted_countnumber
kept_countnumber
trash_item_idstring

The trash item this deletion left: the item_id of platform.trash.restore (POST /trash/{item_id}/restore). Missing if nothing went to the trash.

trash_item_idsarray<string>

Only when the deletion left more than one copy: all of them, the first being trash_item_id.

trash_expires_atnumber

When the copy leaves the trash for good (epoch ms): 30 days after the deletion.

Errores

Ejemplo

curl -X DELETE "https://api.mb-suite.com/v1/social-planner/plans/{plan_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

Probar con tu API key de prueba

Con una API key de prueba el pedido va siempre a tu organización de práctica: datos de ejemplo que puedes reiniciar.

curl -X DELETE "https://api.mb-suite.com/v1/social-planner/plans/{plan_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"