Coverage

What the REST API covers today, what it never will, and what is still to come.

The MCP server exposes 87 tools. The REST API covers 77 of them. This page is generated from the same map a CI check reads, so it cannot drift: a new tool fails the build until it is either built here or listed below.

Covered

ToolREST operation
gads_approve_actionapproveAction
gads_dismiss_recommendationdismissRecommendation
gads_get_account_overviewgetAccountOverview
gads_get_asset_performancelistAssets
gads_get_audit_reportgetAuditReport
gads_get_change_historylistHistory
gads_get_competitive_pressuregetCompetitivePressure
gads_get_connection_statusgetConnection
gads_get_conversion_actionslistConversionActions
gads_get_experimentslistExperiments
gads_get_intraday_pulsegetIntradayPulse
gads_get_optimization_plangetOptimizationPlan
gads_get_search_termslistSearchTerms
gads_get_segment_performancegetSegmentPerformance
gads_get_sync_statusgetSyncStatus
gads_get_tracking_healthgetTrackingHealth
gads_list_action_historylistHistory
gads_list_ad_accountslistAdAccounts
gads_list_ad_groupslistAdGroups
gads_list_adslistAds
gads_list_audienceslistAudiences
gads_list_audit_runslistAuditRuns
gads_list_campaignslistCampaigns
gads_list_keywordslistKeywords
gads_list_pending_actionslistActions
gads_list_projectslistAdAccounts
gads_propose_account_trackingproposeAccountTracking
gads_propose_add_ad_scheduleproposeAddAdSchedule
gads_propose_add_geo_targetsproposeAddGeoTargets
gads_propose_add_keywordsaddKeywords
gads_propose_add_negative_keywordsaddNegativeKeywords
gads_propose_ad_group_statusproposeAdGroupStatus
gads_propose_ad_schedule_bid_modifierproposeAdScheduleBidModifier
gads_propose_ad_statusproposeAdStatus
gads_propose_ai_max_experimentproposeAiMaxExperiment
gads_propose_ai_max_settingproposeAiMaxSetting
gads_propose_ai_max_text_guidelinesproposeAiMaxTextGuidelines
gads_propose_asset_link_statusproposeAssetLinkStatus
gads_propose_attach_audienceproposeAttachAudience
gads_propose_brand_exclusionproposeBrandExclusion
gads_propose_budget_changeproposeBudgetChange
gads_propose_campaign_bid_strategyproposeCampaignBidStrategy
gads_propose_campaign_statusproposeCampaignStatus
gads_propose_campaign_targetproposeCampaignTarget
gads_propose_change_keyword_match_typeproposeChangeKeywordMatchType
gads_propose_clone_ad_groupproposeCloneAdGroup
gads_propose_clone_campaignproposeCloneCampaign
gads_propose_create_ad_groupproposeCreateAdGroup
gads_propose_create_assetsproposeCreateAssets
gads_propose_create_campaignproposeCreateCampaign
gads_propose_create_custom_audienceproposeCreateCustomAudience
gads_propose_create_experimentproposeCreateExperiment
gads_propose_create_rsaproposeCreateRsa
gads_propose_detach_assetproposeDetachAsset
gads_propose_detach_audienceproposeDetachAudience
gads_propose_device_bid_modifierproposeDeviceBidModifier
gads_propose_end_experimentproposeEndExperiment
gads_propose_geo_bid_modifierproposeGeoBidModifier
gads_propose_keyword_bidproposeKeywordBid
gads_propose_keyword_statusproposeKeywordStatus
gads_propose_promote_experimentproposePromoteExperiment
gads_propose_remove_ad_scheduleproposeRemoveAdSchedule
gads_propose_remove_geo_targetproposeRemoveGeoTarget
gads_propose_remove_negative_keywordproposeRemoveNegativeKeyword
gads_propose_rename_ad_groupproposeRenameAdGroup
gads_propose_rename_campaignproposeRenameCampaign
gads_propose_replace_adproposeReplaceAd
gads_reject_actionrejectAction
gads_revert_actionrevertAction
gads_run_gaql_queryrunGaqlQuery
gads_score_keywordsscoreKeywords
gads_set_optimization_targetssetOptimizationTargets
gads_suggest_keywordssuggestKeywords
gads_trigger_audittriggerAudit
gads_trigger_synctriggerSync
gads_undismiss_recommendationundismissRecommendation
gads_update_project_briefupdateProjectBrief

Not planned

Structural — these cannot be REST endpoints.

ToolWhy
gads_discover_ad_accountsorg-level: lists the Google Ads customers the workspace's OAuth grant can see, and exists only to feed importAdAccount
gads_discover_search_term_silosLLM clustering — same reasoning as ideateKeywordSilos
gads_explain_policyexplains the safe-apply policy in prose for a model; the API returns policy_reasons on every proposal instead
gads_generate_free_auditclient-facing pitch report with an LLM narrative pass — a sales artifact; account audits are GET/POST /accounts/{projectId}/audits
gads_get_free_auditreads the free-audit pitch report — same reasoning as generateFreeAudit
gads_get_funnelreads PostHog with the workspace's stored PostHog key — a third-party system, not a resource of this API
gads_ideate_keyword_silosLLM generation — non-deterministic output, belongs behind an agent run
gads_import_ad_accountorg-level: creates a project, which an API key (scoped to existing accounts) cannot be scoped to — accounts are imported in the app or over MCP
gads_search_audience_ideasLLM-assisted ideation over Google's audience taxonomy
gads_share_free_auditmints or revokes the pitch report's public link — same reasoning as generateFreeAudit

On this page