Menu

API reference · Monitors

Cross-account

monitors · cross_account · 1 operation

GET/v1/monitors/cross-account/{account_id}

Get today's monitoring snapshot of an account

monitors.cross_account.get

ReadIdempotentSince 2026-11-01

The workspace's daily check of one of its accounts: for every platform connected to the account (Google Ads, Meta Ads, GA4, Search Console, Business Profile, TikTok, LinkedIn, Facebook, Instagram, YouTube), its key metrics by day (the last 7 days), week (Search Console) and month (the last 6), with the totals of each period, plus the pacing of the account's active media plans. Each platform brings its metric definitions once (id, label, type, higher_is_better) and each period its rows and totals, keyed by metric id (numbers with 6 significant digits); platform_account_id is the account's id on the platform. Optional filters platforms and granularity trim the answer (the snapshot is read whole anyway). Live read: the first call of the day for an account reads every connected platform (one request per period) and stores the snapshot for the day; later calls are served from that snapshot (from_cache) and only retry the platforms that had failed. A platform or period that failed carries its error and no rows. Call it on the workspace with the account id (one it reaches: platform.orgs.list; any other is 404 account_not_found). It counts against the organization's Google Ads external quota (the scarcest provider quota): one unit per call, or one per Google Ads request made live. Requires view access to Monitors. With Google Ads, Google Business Profile, LinkedIn, TikTok or YouTube, their terms limit it through the API and the MCP: what they do not allow answers 403 platform_terms_restricted, and their records are left out of the response (the permissions guide lists what each platform allows).

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

Declared cost: up to 80 reads and 1 writes per call (they count against the daily quota). Touches an external platform (google_ads): it counts against the external operations quota.

Parameters

account_idstringpathrequired

The account (a child organization of the workspace) to check: an id from platform.orgs.list.

platformsarray<enum>queryoptional

Only these platforms (platform_id values), in the answer and in pacing. Without it, every platform connected to the account. It trims the answer, not the read: the day's snapshot always covers every connected platform.

Values: google_analytics, google_ads, meta_ads, tiktok_ads, tiktok, instagram, facebook_page, youtube, google_search_console, google_business_profile, linkedin_ads, linkedin_page

granularityenumqueryoptional

Only the periods of this granularity: daily (the last 7 days, up to yesterday), weekly (the last 8 weeks, from Monday; Search Console has only this one) or monthly (the last 6 months, YYYY-MM). Without it, every period of each platform.

Values: daily, weekly, monthly

Response

account_idstring

The account.

account_namestring

Its name.

account_logostring | null

Its logo (an https URL that opens without a session), or null.

fetched_atnumber

When the platforms were read (epoch ms).

from_cacheboolean

Served from the day's snapshot (only the platforms that had failed were tried again).

platformsarray<object>

One entry per connected account of each platform.

pacingarray<object>

The pacing of the account's active media plans, by platform.

Errors

Example

curl "https://api.mb-suite.com/v1/monitors/cross-account/{account_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. In the practice organization this operation is not simulated (it reaches another platform): it answers 409 sandbox_external_unavailable.