Menu

API reference · Reports

System templates

reports · system_templates · 3 operations

GET/v1/reports/system-templates

List MB Suite's published system report templates

reports.system_templates.list

ReadIdempotentSince 2026-11-01

Lists the published system report templates (the MB Suite catalog: one per platform and goal, e.g. «Google Ads — Leads») in gallery order, as summaries with their data source slots and supported platforms. Use one with reports.instances.generate or reports.templates.deploy (template_source=SYSTEM), or copy it into the organization with reports.system_templates.clone. Draft system templates are skipped by reading further, so pages come full. Requires view access to Reports.

Scope
reports:read
Permission
View the module
MCP tool
reports_system_templates_listOn the full surface; on the compact one, mb_execute_operation with id: "reports.system_templates.list".

Declared cost: up to 202 reads and 0 writes per call (they count against the daily quota).

Parameters

limitintegerqueryoptional

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

Default: 50

cursorstringqueryoptional

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

Response

dataarray<object>
has_moreboolean
next_cursorstring

Errors

Example

curl "https://api.mb-suite.com/v1/reports/system-templates" \
  -H "Authorization: Bearer $MB_API_KEY"

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

Get a published system report template

reports.system_templates.get

ReadIdempotentSince 2026-11-01

Returns one published system report template with all its pages and blocks, its data source slots (what a data_source_mapping has to cover) and its default date range. Not found if the id does not exist or the template is not published. Requires view access to Reports.

Scope
reports:read
Permission
View the module
MCP tool
reports_system_templates_getOn the full surface; on the compact one, mb_execute_operation with id: "reports.system_templates.get".

Declared cost: up to 1 reads and 0 writes per call (they count against the daily quota).

Parameters

template_idstringpathrequired

The system template id (reports.system_templates.list).

Response

idstring

Template id.

titlestring

Title.

statusenum

draft or published.

Values: draft, published

sourceenum

organization, inherited or system.

Values: 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).

Errors

Example

curl "https://api.mb-suite.com/v1/reports/system-templates/{template_id}" \
  -H "Authorization: Bearer $MB_API_KEY"

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

Copy a system report template into the organization

reports.system_templates.clone

WriteSince 2026-11-01

Copies a published system report template into the organization's own templates as a draft titled '<title> (Copia)' (the suffix in the caller's language), so it can be edited and published like any other. Returns the new template id. Requires edit access to Reports.

Scope
reports:write
Permission
Edit in the module
MCP tool
reports_system_templates_cloneOn the full surface; on the compact one, mb_execute_operation with id: "reports.system_templates.clone".

Declared cost: up to 1 reads and 1 writes per call (they count against the daily quota).

Parameters

template_idstringpathrequired

The published system template (reports.system_templates.list).

Response

template_idstring
titlestring

Errors

Example

curl -X POST "https://api.mb-suite.com/v1/reports/system-templates/{template_id}/clone" \
  -H "Authorization: Bearer $MB_API_KEY"

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/reports/system-templates/{template_id}/clone" \
  -H "Authorization: Bearer $MB_TEST_KEY"