Menú

Referencia de la API · Media Planner

Plantillas

media_planner · templates · 9 operaciones

GET/v1/media-planner/templates

List media plan templates

media_planner.templates.list

LecturaIdempotenteDesde 2026-11-01

Lists the strategy templates a media plan can start from: a structure of campaigns (name + platform), without budgets or dates. source=own (default) returns this organization's templates in their order; source=available adds the workspace's (for an account, source: parent) and MB Suite's published system templates (source: system), which is what media_planner.plans.create accepts as template_id. Requires view access to the Media Planner.

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

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

Parámetros

sourceenumqueryopcional

own: this organization's templates; available: own + inherited from the workspace + published system templates (what a new plan can start from).

Valores: own, available · Por defecto: "own"

Respuesta

dataarray<object>

The templates, in their order.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/media-planner/templates" \
  -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/media-planner/templates" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/media-planner/templates/{template_id}

Get one media plan template

media_planner.templates.get

LecturaIdempotenteDesde 2026-11-01

Returns one of this organization's strategy templates: name, description, color, labels and its campaign structure (campaign_templates: name, platform, order), with the platforms it uses. Not found (media_plan_template_not_found) for a template of another organization or a system template (see media_planner.templates.list_system). Requires view access to the Media Planner.

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

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

Parámetros

template_idstringrutarequerido

Media plan template id (from media_planner.templates.list).

Respuesta

idstring

Template id.

namestring

Template name.

descriptionstring

Its description (may be empty).

colorstring

Hex color.

campaign_templatesarray<object>

The campaign structure (name + platform), without budgets or dates.

campaign_countnumber

Campaigns in the template.

platformsarray<string>

Platforms it uses.

sourceenum

own (this organization), parent (inherited from the workspace) or system (MB Suite's).

Valores: own, parent, system

label_idsarray<string>

Template labels (media_planner.labels.list).

ordernumber

Position among the templates (own and inherited ones and the system ones, in their own list).

created_atnumber

Epoch ms.

updated_atnumber

Epoch ms.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/media-planner/templates/{template_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/media-planner/templates/{template_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/media-planner/templates

Create a media plan template

media_planner.templates.create

EscrituraDesde 2026-11-01

Creates a strategy template: name, optional description, color (#rrggbb, default #2563eb), label_ids and campaign_templates (up to 200: name, platform, platform_custom_name for 'other', order). It stores only the structure (no budgets or dates); a new plan in campaigns mode can start from it. Placed last. Returns the template. Requires full access to the Media Planner.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_createEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.create".

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

Parámetros

namestringcuerporequerido

Template name.

descriptionstringcuerpoopcional

What the template is for.

Por defecto: ""

colorstringcuerpoopcional

Hex color of the template's card.

Por defecto: "#2563eb"

campaign_templatesarray<object>cuerpoopcional

The campaign structure (name + platform), without budgets or dates.

Por defecto: []

label_idsarray<string>cuerpoopcional

Template labels (ids).

Respuesta

template_idstring

The template's id.

templateobject

The template.

Errores

Ejemplo

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

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/media-planner/templates" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "name": "NAME"
}'
PATCH/v1/media-planner/templates/{template_id}

Update a media plan template

media_planner.templates.update

EscrituraIdempotenteDesde 2026-11-01

Updates a template of this organization, with the fields inside updates ({ template_id, updates: { … } }): name, description, color, label_ids and/or campaign_templates (the whole structure is replaced; the platforms and the campaign count are recomputed). Plans already created from it do not change. Returns the template. Requires full access to the Media Planner.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_updateEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.update".

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

Parámetros

template_idstringrutarequerido

Media plan template id (from media_planner.templates.list).

updatesobjectcuerporequerido

The fields to change (at least one).

Respuesta

templateobject

The template as it is now.

Errores

Ejemplo

curl -X PATCH "https://api.mb-suite.com/v1/media-planner/templates/{template_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'

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 PATCH "https://api.mb-suite.com/v1/media-planner/templates/{template_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "updates": {}
}'
DELETE/v1/media-planner/templates/{template_id}

Delete a media plan template

media_planner.templates.delete

IrreversibleDesde 2026-11-01

Deletes a template of this organization (plans created from it do not change). It goes to the 30-day trash, where an owner or admin can restore it (platform.trash.restore). Outside the app it needs a dry run and a confirm_token, except a REST DELETE with a key allowed to delete. Requires full access to the Media Planner.

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
media_planner:write y «Permitir eliminar» (media_planner:delete en OAuth)
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.delete".

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

Parámetros

template_idstringrutarequerido

Media plan template id (from media_planner.templates.list).

Respuesta

oktrue

Always true.

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/media-planner/templates/{template_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/media-planner/templates/{template_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/media-planner/templates/{template_id}/duplicate

Duplicate a media plan template

media_planner.templates.duplicate

EscrituraDesde 2026-11-01

Copies a template of this organization as '<name> (Copia)', placed last, with the same structure, color and labels. Returns the new template. Requires full access to the Media Planner.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_duplicateEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.duplicate".

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

Parámetros

template_idstringrutarequerido

Media plan template id (from media_planner.templates.list).

Respuesta

template_idstring

The template's id.

templateobject

The template.

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/media-planner/templates/{template_id}/duplicate" \
  -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 POST "https://api.mb-suite.com/v1/media-planner/templates/{template_id}/duplicate" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/media-planner/templates/reorder

Reorder media plan templates

media_planner.templates.reorder

EscrituraIdempotenteDesde 2026-11-01

Sets the order of this organization's templates: template_ids in the new order (position = index). All or nothing: an id that is not a template of this organization stops the whole reorder (404). Requires full access to the Media Planner.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_reorderEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.reorder".

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

Parámetros

template_idsarray<string>cuerporequerido

The organization's template ids in the new order (from media_planner.templates.list).

Respuesta

countnumber

Templates reordered.

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/media-planner/templates/reorder" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "template_ids": [
    "TEMPLATE_ID"
  ]
}'

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/media-planner/templates/reorder" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "template_ids": [
    "TEMPLATE_ID"
  ]
}'
GET/v1/media-planner/system-templates

List MB Suite's system templates

media_planner.templates.list_system

LecturaIdempotenteDesde 2026-11-01

Lists MB Suite's published strategy templates (lead generation, e-commerce, awareness, B2B…), in their catalog order, with their campaign structure. Copy one into the organization with media_planner.templates.clone_system, or start a plan from it with template_id. Drafts are never listed. Requires view access to the Media Planner.

Alcance
media_planner:read
Permiso
Ver el módulo
Tool del MCP
media_planner_templates_list_systemEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.list_system".

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

Parámetros

Sin parámetros.

Respuesta

dataarray<object>

The templates, in their order.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/media-planner/system-templates" \
  -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/media-planner/system-templates" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/media-planner/system-templates/{system_template_id}/clone

Copy a system template into the organization

media_planner.templates.clone_system

EscrituraDesde 2026-11-01

Copies a published MB Suite system template into this organization's templates (placed last), where it can be edited like any other. Not found (system_media_plan_template_not_found) for a draft or unknown id. Returns the new template. Requires full access to the Media Planner.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_templates_clone_systemEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.templates.clone_system".

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

Parámetros

system_template_idstringrutarequerido

Published system template id (from media_planner.templates.list_system).

Respuesta

template_idstring

The template's id.

templateobject

The template.

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/media-planner/system-templates/{system_template_id}/clone" \
  -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 POST "https://api.mb-suite.com/v1/media-planner/system-templates/{system_template_id}/clone" \
  -H "Authorization: Bearer $MB_TEST_KEY"