Plan a bulk dashboard deployment to accounts
dashboards.bulk.deploy_plan
From a workspace, computes the deployment plan of up to 30 templates (published system templates or the workspace's published ones; ids from dashboards.templates.list) over its active accounts (all, or child_org_ids): for each template × account, whether it is new, already_deployed or incompatible (missing_platforms: platforms the account has no connection for), and the suggested data_source_mapping (the first connection of each platform; the internal CRM source is always available). counts has how many items are in each status over the whole plan; data, the items, filtered by status (use status new to get the ones to deploy) and paginated by cursor (limit 50 by default). Writes nothing; pass the new items to dashboards.bulk.deploy. Owners and admins of the workspace.
- Scope
dashboards:read- Permission
- View the module · Only owner, admin
- MCP tool
dashboards_bulk_deploy_planOn the full surface; on the compact one,mb_execute_operationwithid: "dashboards.bulk.deploy_plan".
Declared cost: up to 1500 reads and 0 writes per call (they count against the daily quota).
Parameters
template_idsarray<string>bodyTemplates to plan (published system templates or the workspace's published ones; dashboards.templates.list).
child_org_idsarray<string>bodyoptionalOnly these accounts (platform.orgs.list); default all the active accounts.
statusenumbodyoptionalOnly the items in this status; new are the ones to pass to dashboards.bulk.deploy. counts always covers the whole plan.
Values: new, already_deployed, incompatible
limitintegerbodyoptionalHow many items per page (default 50; up to 15000, the largest possible plan, which the screen reads whole). An item is about 300 characters: over the MCP keep pages small and use status.
Default: 50
cursorstringbodyoptionalThe next_cursor of the previous page.
Response
countsobjectItems per status over the whole plan.
dataarray<object>The items of this page.
has_morebooleanMore items after this page.
next_cursorstringPass it as cursor for the next page.
Errors
Example
curl -X POST "https://api.mb-suite.com/v1/dashboards/bulk/deploy-plan" \
-H "Authorization: Bearer $MB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"template_ids": [
"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/dashboards/bulk/deploy-plan" \
-H "Authorization: Bearer $MB_TEST_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"template_ids": [
"TEMPLATE_ID"
]
}'