Menú

Referencia de la API · Reports

Plantillas

reports · templates · 8 operaciones

GET/v1/reports/templates

List report templates

reports.templates.list

LecturaIdempotenteDesde 2026-11-01

Lists the organization's report templates (source=organization, the default) or, for an account, the published templates it inherits from its workspace (source=inherited), in the screen's manual order (position; the ones never ordered after, by title) and paginated by cursor (limit 50 by default, up to 200). Each item is a summary: title, status (draft|published), version, position, supported platforms, data source slots, labels, how many pages and blocks it has and who created it (created_by, created_by_name); fetch the pages with reports.templates.get. Filter by status. System templates are listed by reports.system_templates.list. Requires view access to Reports.

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

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

Parámetros

limitintegerqueryopcional

How many templates per page (default 50, at most 200).

Por defecto: 50

cursorstringqueryopcional

The next_cursor of the previous page, to get the next one; omit it for the first page.

sourceenumqueryopcional

organization (its own, default) or inherited (the workspace's published ones, for an account).

Valores: organization, inherited · Por defecto: "organization"

statusenumqueryopcional

draft or published.

Valores: draft, published

Respuesta

dataarray<object>
has_moreboolean
next_cursorstring

Errores

Ejemplo

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

Get a report template with its pages

reports.templates.get

LecturaIdempotenteDesde 2026-11-01

Returns one report template with all its pages (sections) and blocks, its data source slots, default date range, cover page, theme and labels. Use source=inherited from an account to read a published template of its workspace. Not found if the id does not exist in the organization (or, for inherited, is not a published template of the parent). Requires view access to Reports.

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

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

Parámetros

template_idstringrutarequerido

The template id (reports.templates.list).

sourceenumqueryopcional

organization (default) or inherited (a published one of the workspace).

Valores: organization, inherited · Por defecto: "organization"

Respuesta

idstring

Template id.

titlestring

Title.

statusenum

draft or published.

Valores: draft, published

sourceenum

organization, inherited or system.

Valores: organization, inherited, system

descriptionstring | null

Description.

subtitlestring | null

Subtitle.

accent_colorstring | null

Accent color.

versionnumber | null

Version (goes up with each update and publication).

positionnumber | null

Manual order.

is_system_templateboolean | null

A system template.

supported_platformsarray<string> | null

Platforms it is built for.

data_source_slotsarray<object> | null

Data slots a report maps to its sources.

default_date_rangeobject | null

Default period (type preset, fixed or dynamic).

sectionsarray<object> | null

Pages and blocks, as stored.

cover_pageobject | null

Cover page settings.

table_of_contentsboolean | null

Whether it has a table of contents.

module_pagesarray<object> | null

Module pages and where they go.

label_idsarray<string> | null

Template labels.

theme_idstring | null

Report theme.

theme_sourcestring | null

system or organization.

data_freshness_checked_atnumber | null

When the editor last refreshed live data (epoch ms).

created_atnumber | null

Created (epoch ms).

updated_atnumber | null

Last edited (epoch ms).

created_bystring | null

Uid of who created it.

created_by_namestring | null

Their name («MB Suite» for the system).

Errores

Ejemplo

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

Create a report template

reports.templates.create

EscrituraDesde 2026-11-01

Creates a report template of the organization as a draft (version 1). Only the title is required; you can also send its pages (sections with blocks), data source slots, supported platforms, default date range (last month if omitted), cover page, table of contents, module pages, theme and labels. Blocks that read a platform must point to a slot or to a data source connected to the organization (reports.data_sources.list). Publish it with reports.templates.publish. Requires edit access to Reports.

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

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

Parámetros

titlestringcuerporequerido

Title.

descriptionstringcuerpoopcional

Description.

subtitlestringcuerpoopcional

Subtitle.

accent_colorstring | nullcuerpoopcional

Accent color (hex); null for the theme's.

sectionsarray<object>cuerpoopcional

The pages and their blocks (new block types, slots, metrics and presets are checked; what the template already had is kept).

cover_pageobject | nullcuerpoopcional

Cover page settings; null for no cover.

table_of_contentsbooleancuerpoopcional

Add a table of contents.

module_pagesarray<object>cuerpoopcional

Module pages (module_tasks, module_pacing, module_social, module_seo) and where they go.

data_source_slotsarray<object>cuerpoopcional

The data slots a report from this template maps to its account's sources (id, name, platform).

supported_platformsarray<string>cuerpoopcional

Platforms it is built for.

default_date_rangeobjectcuerpoopcional

Default period of the reports made from it (a new preset_key must be one of the presets).

theme_idstring | nullcuerpoopcional

Report theme (reports.themes.list); null for the default.

theme_sourceenum | nullcuerpoopcional

system or organization, with theme_id.

Valores: system, organization

label_idsarray<string>cuerpoopcional

Template labels (reports.labels.list with of: templates); an unknown id is label_unknown.

Respuesta

template_idstring

Errores

Ejemplo

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

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

Update a report template

reports.templates.update

EscrituraDesde 2026-11-01

Updates fields of a report template: title, description, pages (send the full sections array), data source slots, supported platforms, default date range, cover page (null removes it), table of contents, module pages, theme (null = default) and labels; fields go inside updates. Every save bumps its version. To publish or unpublish use reports.templates.publish. New platform data sources in the blocks must be connected to the organization; new block types, data slots (they must be data_source_slots of the template), metrics, dimensions and presets are checked (report_block_type_unknown, report_block_slot_unknown, unknown_metric, unknown_dimension, preset_unknown, with the valid ones in details) and labels must exist (label_unknown, reports.labels.list with of: templates); what the template already had is kept. Returns the updated template. Requires edit access to Reports.

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

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

Parámetros

template_idstringrutarequerido

The template id (reports.templates.list).

updatesobjectcuerporequerido

The fields to change (the rest keep their value).

Respuesta

templateobject

Errores

Ejemplo

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

Publish or unpublish a report template

reports.templates.publish

EscrituraIdempotenteDesde 2026-11-01

Publishes a report template (published: true) so the organization's accounts inherit it and it is offered when generating reports, or returns it to draft (published: false). Setting the status it already has changes nothing (changed: false). Publishing fires reports.template.published. Requires edit access to Reports.

Alcance
reports:write
Permiso
Editar en el módulo
Tool del MCP
reports_templates_publishEn la superficie completa; en la compacta, mb_execute_operation con id: "reports.templates.publish".
Eventos que puede emitir
reports.template.published

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

Parámetros

template_idstringrutarequerido

The template id (reports.templates.list).

publishedbooleancuerporequerido

true publishes it (its accounts see it and «Generate report» offers it); false moves it back to draft.

Respuesta

template_idstring
statusenum

Valores: draft, published

changedboolean

Errores

Ejemplo

curl -X POST "https://api.mb-suite.com/v1/reports/templates/{template_id}/publish" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "published": 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 POST "https://api.mb-suite.com/v1/reports/templates/{template_id}/publish" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "published": true
}'
POST/v1/reports/templates/{template_id}/duplicate

Duplicate a report template

reports.templates.duplicate

EscrituraDesde 2026-11-01

Copies a report template of the organization into a new draft titled '<title> (Copia)' (the suffix in the caller's language: (Copia), (Copy) or (Cópia)), with the same pages, slots, platforms and theme. Returns the new template id. Requires edit access to Reports.

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

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

Parámetros

template_idstringrutarequerido

The template id (reports.templates.list).

Respuesta

template_idstring
titlestring

Errores

Ejemplo

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

Delete a report template

reports.templates.delete

IrreversibleDesde 2026-11-01

Deletes a report template of the organization; it stays 30 days in the trash (platform.trash.restore brings it back with the same id). Report instances already generated from it keep their own copy and are not affected; recurring deliveries that use it fail until it is restored or replaced: the dry run says how many deliveries use it and how many are scheduled. Requires edit access to Reports. Outside the screen it needs a dry run and a confirm_token, or a key with deletion enabled.

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

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

Parámetros

template_idstringrutarequerido

The template id (reports.templates.list).

Respuesta

oktrue
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/reports/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/reports/templates/{template_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY"
POST/v1/reports/templates/{template_id}/deploy

Create an editable report from a template

reports.templates.deploy

EscrituraDesde 2026-11-01

Creates an editable report document (reports.reports.*) from a template: the organization's own (template_source=ORGANIZATION), a published one of the parent workspace (INHERITED) or a published system template (SYSTEM), with its data source slots mapped to the organization's connections (data_source_mapping: slot or platform → data source id from reports.data_sources.list). Use it to customize a report before generating its PDF; to generate a dated report instance directly use reports.instances.generate. Returns the new report id. Requires edit access to Reports.

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

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

Parámetros

template_idstringrutarequerido

The template to make an editable report from (reports.templates.list or reports.system_templates.list).

template_sourceenumcuerpoopcional

ORGANIZATION (default: the organization's own), INHERITED (published by the workspace) or SYSTEM (published by MB Suite).

Valores: SYSTEM, ORGANIZATION, INHERITED · Por defecto: "ORGANIZATION"

source_org_idstringcuerpoopcional

INHERITED only: this account's workspace (optional; any other is 403).

data_source_mappingobjectcuerpoopcional

Template slot or platform → connection id of this organization (google_ads:1234567890, from reports.data_sources.list).

titlestringcuerpoopcional

The report's title (default: the template's).

descriptionstringcuerpoopcional

The report's description (default: the template's).

Respuesta

report_idstring

Errores

Ejemplo

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