Menú

Referencia de la API · Media Planner

Compartidos

media_planner · shares · 6 operaciones

POST/v1/media-planner/plans/{plan_id}/shares

Email a media plan

media_planner.shares.send

EscrituraDesde 2026-11-01

SENDS an email (Amazon SES) with a media plan: its window, budget by currency and by platform and, in campaigns mode, the campaign table; with format pdf the plan's PDF is attached too. One email to everyone (to and cc, up to 50 recipients in total), with an optional personal_note and the subject given. sender_id picks the From among the senders this person can use (an item of senders in branding.email_domain.get: the organization's verified domain or its agency's; none or __system__ = MB Suite), and the email carries that sender's branding; 403 sender_not_allowed otherwise. locale (es, en, pt-BR) for the email and the PDF. The send is recorded in the plan's share history (media_planner.shares.list) and fires media_planner.plan.shared. It reaches real inboxes: outside the app it needs a dry run (it says the recipients, the From, the subject and the format, with the same sender check) and its confirm_token; media_planner.shares.preview gives the HTML. Errors: 503 pdf_unavailable when the PDF service is not available (nothing was sent: retry, or send format html); when Amazon SES does not send it, 429 external_rate_limited, 409 external_rejected, 503 external_unavailable (it surely did not go out) or 409 external_outcome_unknown (SES did not answer: the email may have gone out, check before sending it again). Requires full access to the Media Planner. With Google Ads, LinkedIn or TikTok, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
media_planner:write
Permiso
Editar en el módulo
Tool del MCP
media_planner_shares_sendEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.shares.send".
Eventos que puede emitir
media_planner.plan.shared

Costo declarado: hasta 503 lecturas y 1 escrituras por llamada (cuentan en el cupo diario). Toca una plataforma externa (ses): cuenta en el cupo de operaciones externas.

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

formatenumcuerporequerido

html: the plan in the email body; pdf: the email plus the plan's PDF attached.

Valores: pdf, html

toarray<string>cuerporequerido

Recipient addresses (up to 50 with cc).

subjectstringcuerporequerido

The email's subject.

ccarray<string>cuerpoopcional

Copy (CC) addresses.

personal_notestringcuerpoopcional

A note shown at the top of the email.

sender_idstringcuerpoopcional

From: the id of a sender this person may use (an item of senders in branding.email_domain.get: the organization's verified domain or its agency's); none or __system__ = MB Suite.

localeenumcuerpoopcional

Language of the email and the PDF (es, en or pt-BR).

Valores: es, en, pt-BR

Respuesta

share_idstring

The record of this send (media_planner.shares.list).

email_idstring

The email provider's message id, for support.

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/shares" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "format": "pdf",
  "to": [
    "TO"
  ],
  "subject": "SUBJECT",
  "dry_run": true
}'

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. En la práctica esta operación no se simula (toca otra plataforma): responde 409 sandbox_external_unavailable.

GET/v1/media-planner/plans/{plan_id}/shares/preview

Preview a media plan email

media_planner.shares.preview

LecturaIdempotenteDesde 2026-11-01

Builds, without sending anything, the HTML of the email media_planner.shares.send would send for a plan, with the branding of the sender it would use (sender_id), the personal note and the locale (default: the person's language). The PDF is not generated. Returns html: the whole email, often 50,000 to 100,000 characters (a big plan, more); ask for it only to show or check the email itself (media_planner.plans.get has the plan's data). Requires access to the Media Planner and a role other than viewer (403 role_required). Through the API and the MCP it depends on the terms of LinkedIn: where they do not allow it, it answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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

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

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

formatenumqueryopcional

html (default: the plan in the body) or pdf (the email that goes with the PDF).

Valores: pdf, html · Por defecto: "html"

personal_notestringqueryopcional

A note shown at the top of the email.

localeenumqueryopcional

Language of the email.

Valores: es, en, pt-BR

sender_idstringqueryopcional

The sender whose branding the email carries (an item of senders in branding.email_domain.get); none = MB Suite.

Respuesta

htmlstring

The email's HTML.

Errores

Ejemplo

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

List the emails sent with a media plan

media_planner.shares.list

LecturaIdempotenteDesde 2026-11-01

Lists the emails sent with a media plan, newest first, paginated by cursor: format, recipients (to, cc), subject, personal note, sender and who sent it, and whether a PDF (has_pdf) and an HTML copy (has_html) are stored (12 months). Get them with media_planner.shares.pdf_url and media_planner.shares.html. Requires access to the Media Planner and a role other than viewer (viewers do not see who received the plan: 403 role_required).

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

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

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

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/media-planner/plans/{plan_id}/shares" \
  -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/plans/{plan_id}/shares" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/media-planner/plans/{plan_id}/shares/{share_id}/pdf-url

Get a download link for the PDF of a sent email

media_planner.shares.pdf_url

LecturaIdempotenteDesde 2026-11-01

Returns a signed download link for the PDF stored with a sent email of the plan (valid 1 hour for an API key or an app; 7 days in the app) and when it expires. 409 share_pdf_unavailable if that email had no PDF (html format, or sent before February 21, 2026) and share_pdf_expired if it is older than 12 months. Anyone with the link can download the file until it expires: do not post it in public places. Requires access to the Media Planner and a role other than viewer. Through the API and the MCP it depends on the terms of LinkedIn: where they do not allow it, it answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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

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

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

share_idstringrutarequerido

Id of a sent email of the plan (from media_planner.shares.list).

Respuesta

urlstring

Signed link to the PDF.

expires_atnumber

When the link stops working (epoch ms).

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/shares/{share_id}/pdf-url" \
  -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/plans/{plan_id}/shares/{share_id}/pdf-url" \
  -H "Authorization: Bearer $MB_TEST_KEY"
GET/v1/media-planner/plans/{plan_id}/shares/{share_id}/html

Get the HTML of a sent email

media_planner.shares.html

LecturaIdempotenteDesde 2026-11-01

Returns the HTML of an email exactly as it was sent with the plan (the copy stored for 12 months): the whole email, often 50,000 to 100,000 characters; ask for it only to show or check the email itself (media_planner.shares.list has who got it and when). 409 share_html_unavailable for emails sent before February 21, 2026, and share_html_expired after 12 months. Requires access to the Media Planner and a role other than viewer. Through the API and the MCP it depends on the terms of LinkedIn: where they do not allow it, it answers 403 platform_terms_restricted (the permissions guide lists what each platform allows).

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

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

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

share_idstringrutarequerido

Id of a sent email of the plan (from media_planner.shares.list).

Respuesta

htmlstring

The email's HTML.

Errores

Ejemplo

curl "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/shares/{share_id}/html" \
  -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/plans/{plan_id}/shares/{share_id}/html" \
  -H "Authorization: Bearer $MB_TEST_KEY"
DELETE/v1/media-planner/plans/{plan_id}/shares/{share_id}

Delete the record of a sent email

media_planner.shares.delete

IrreversibleDesde 2026-11-01

Deletes the record of an email sent with the plan and its stored PDF and HTML copies. The email itself was already delivered and is not recalled. It does not go to the trash. Only owners and admins. Outside the app it needs a dry run and a confirm_token. Requires full access to the Media Planner.

Pide confirmación: primero dry_run: true (vista previa y confirm_token, que vale 10 minutos y una sola vez), después el mismo cuerpo con confirm_token. En unas pocas, solo con ciertos datos: la descripción dice cuándo. Por qué y cómo: Vista previa y confirmación.

Alcance
media_planner:write y «Permitir eliminar» (media_planner:delete en OAuth)
Permiso
Editar en el módulo · Solo owner, admin
Tool del MCP
media_planner_shares_deleteEn la superficie completa; en la compacta, mb_execute_operation con id: "media_planner.shares.delete".

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

Parámetros

plan_idstringrutarequerido

Media plan id (from media_planner.plans.list).

share_idstringrutarequerido

Id of a sent email of the plan (from media_planner.shares.list).

Respuesta

oktrue

Always true.

Errores

Ejemplo

curl -X DELETE "https://api.mb-suite.com/v1/media-planner/plans/{plan_id}/shares/{share_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'

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/plans/{plan_id}/shares/{share_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true
}'