Menu

API reference · Monitors

Assignments

monitors · assignments · 4 operations

GET/v1/monitors/assignments

List the monitor assigned to each platform

monitors.assignments.list

ReadIdempotentSince 2026-11-01

Lists the platform tabs of this organization's Monitors page that have a monitor assigned: one item per platform, in the screen's order, with the template, where it comes from (its own ORGANIZATION template, an INHERITED one from the workspace or a SYSTEM monitor), whether the template is still available (it exists, is published and is built for that platform; when it is not, the tab shows the monitor picker) and whether the platform is connected (without a connection the tab is hidden). Platforms with no monitor are not listed; the list is always whole (one item per platform, up to 12). Each item says who assigned it (created_by, created_by_name) and who changed it last. For an account, call it on the account (org_id).

Scope
monitors:read
Permission
View the module
MCP tool
monitors_assignments_listOn the full surface; on the compact one, mb_execute_operation with id: "monitors.assignments.list".

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

Parameters

No parameters.

Response

dataarray<object>

One item per platform tab with a monitor, in the screen's order.

Errors

Example

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

Get the monitor assigned to a platform

monitors.assignments.get

ReadIdempotentSince 2026-11-01

Returns the monitor assigned to one platform tab of this organization (platform_id is one of the platforms with a monitor tab, such as google_ads or meta_ads): the template, its source, whether it is still available and whether the platform is connected. Not found (monitor_assignment_not_found) when that tab has no monitor.

Scope
monitors:read
Permission
View the module
MCP tool
monitors_assignments_getOn the full surface; on the compact one, mb_execute_operation with id: "monitors.assignments.get".

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

Parameters

platform_idenumpathrequired

The platform tab (google_ads, meta_ads, google_analytics…; the platforms with a monitor tab).

Response

platform_idstring

The platform tab.

template_idstring

The monitor template it shows (monitors.templates.get).

sourceenum

Where the template comes from: ORGANIZATION (its own), INHERITED (published by the workspace) or SYSTEM.

Values: SYSTEM, ORGANIZATION, INHERITED

source_org_idstring | null

INHERITED: the workspace the template belongs to; null otherwise.

template_titlestring | null

The template's title.

template_availableboolean

The template exists, is published and is built for this platform: the tab shows it (false: the tab shows the monitor picker).

connectedboolean

The organization has the platform connected (without a connection the tab is hidden).

created_atnumber | null

When it was first assigned (epoch ms).

created_bystring | null

Uid of who first assigned it.

created_by_namestring | null

Their name.

updated_atnumber | null

When it last changed (epoch ms).

updated_bystring | null

Uid of who last changed it.

updated_by_namestring | null

Their name.

Errors

Example

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

Assign a monitor to a platform

monitors.assignments.set

WriteIdempotentSince 2026-11-01

Shows a monitor template in one platform tab of this organization's Monitors page, replacing the one it had. The template must be reachable (the organization's own, a published one of its workspace for an account, or a published system monitor; source narrows where to look), published (template_not_published otherwise) and built for that platform (template_platform_mismatch otherwise). The tab can be assigned before the platform is connected; it shows once there is a connection. Idempotent: assigning the same monitor again changes nothing (changed false). Returns the assignment. Requires edit access to Monitors.

Scope
monitors:write
Permission
Edit in the module
MCP tool
monitors_assignments_setOn the full surface; on the compact one, mb_execute_operation with id: "monitors.assignments.set".
Events it can emit
monitors.monitor.assigned

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

Parameters

platform_idenumpathrequired

The platform tab (google_ads, meta_ads, google_analytics…; the platforms with a monitor tab).

template_idstringbodyrequired

The monitor template to show (monitors.templates.list, published and built for that platform).

sourceenumbodyoptional

Where the template is: ORGANIZATION, INHERITED or SYSTEM. Without it, the organization's own, then its workspace's published ones (for an account), then the system's.

Values: SYSTEM, ORGANIZATION, INHERITED

source_org_idstringbodyoptional

INHERITED only: this account's workspace (any other is 403 template_parent_mismatch). Optional.

Response

assignmentobject
changedboolean

Errors

Example

curl -X POST "https://api.mb-suite.com/v1/monitors/assignments/{platform_id}" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "template_id": "TEMPLATE_ID"
}'

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/monitors/assignments/{platform_id}" \
  -H "Authorization: Bearer $MB_TEST_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "template_id": "TEMPLATE_ID"
}'
POST/v1/monitors/assignments/{platform_id}/clear

Remove the monitor from a platform

monitors.assignments.clear

WriteIdempotentSince 2026-11-01

Removes the monitor assigned to one platform tab of this organization: the tab goes back to the monitor picker. The template itself is not touched and can be assigned again with monitors.assignments.set. Idempotent: on a tab with no monitor nothing changes (cleared false). Requires edit access to Monitors.

Scope
monitors:write
Permission
Edit in the module
MCP tool
monitors_assignments_clearOn the full surface; on the compact one, mb_execute_operation with id: "monitors.assignments.clear".
Events it can emit
monitors.monitor.unassigned

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

Parameters

platform_idenumpathrequired

The platform tab (google_ads, meta_ads, google_analytics…; the platforms with a monitor tab).

Response

platform_idstring
clearedboolean
template_idstring | null

Errors

Example

curl -X POST "https://api.mb-suite.com/v1/monitors/assignments/{platform_id}/clear" \
  -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/monitors/assignments/{platform_id}/clear" \
  -H "Authorization: Bearer $MB_TEST_KEY"