View as Markdown

Scopes & Permissions

One key authenticates every programmatic surface — the REST API, the Synter MCP server, and the CLI. Scopes control what that key is allowed to do: a key can only perform the actions its scopes permit.

Scopes gate actions, connections gate platforms

Scopes are capability-based, not per-platform. campaigns:state lets a key pause a campaign on any platform the workspace has connected — it never grants reach into a platform that is not connected. Which platforms a key can touch is governed by the workspace's connections in Settings → Integrations. With 99 supported platforms, a per-platform scope list would be unusable and would duplicate authorization that already lives in the connection layer.

Presets

When creating a key you can start from a preset and narrow it. At least one scope is required.

  • Read only (19 scopes) — every read scope, no mutations. Safe for dashboards and CI checks.
  • Defaults (27 scopes) — a typical operator surface. Excludes money movement, guardrail removal, unattended automation, raw script execution, and outbound.
  • All (48 scopes) — everything, including the highest-risk scopes. Grant only to a key you fully control.

Legacy keys keep working

Keys issued before granular scopes carry tools:read and tools:write. Those are expanded onto the equivalent granular set, so existing integrations are unaffected. New keys should always carry an explicit selection.

REPORTING

Read performance data from connected ad accounts. No mutations.

ScopeWhat it permitsTypeIn defaults
reporting:readPull spend, impressions, clicks, conversions, and CPA/ROAS from any connected ad account, including raw query languages (GAQL) and analytics reports
Covers: pull_*_performance, list_campaigns, tiktok_ads_get_insights, run_gaql_query, run_gaql, ga4_get_report
readYes
reporting:writeCreate and update saved reports, dashboards, and scheduled report delivery
Covers: create_report, auto_report, schedule_report
writeYes

CAMPAIGNS

Read, plan, create, and change campaign state across connected platforms.

ScopeWhat it permitsTypeIn defaults
campaigns:readView campaigns, ad groups, ads, and their settings
Covers: list_campaigns, tiktok_ads_get_ad_groups, get_ad_readback, get_account_changelog
readYes
campaigns:planCreate and forecast campaign plans without pushing them to a platform
Covers: create_campaign_plan, forecast_campaign, upsert_plan_entity
writeYes
campaigns:writeCreate and update live campaigns, ad groups, and ads on connected platforms
Covers: execute_campaign_plan, create_campaign_for_audience, tiktok_ads_update_adgroup
writeYes
campaigns:stateEnable and pause campaigns — directly starts or stops ad delivery
Covers: enable_campaign, pause_campaign
writeYes
campaigns:structureAudit and repair account structure
Covers: audit_account_structure, repair_account_structure
writeOpt-in

BUDGET & AUTOMATION

Move money and run unattended automation. The highest-risk group.

ScopeWhat it permitsTypeIn defaults
budget:writeChange campaign budgets and reallocate spend across platforms
Covers: update_campaign_budget, optimize_budget
writeOpt-in
guardrails:writeSet, disable, and remove spend guardrails and spend alerts — can remove a safety limit
Covers: set_campaign_guardrail, disable_campaign_guardrail, set_spend_alert
writeOpt-in
automation:readView configured autonomous schedules and their run history
Covers: list_autonomous_schedules
readYes
automation:writeCreate unattended autonomous schedules that act on the account without a human in the loop
Covers: create_autonomous_schedule, list_autonomous_schedules
writeOpt-in
scripts:executeExecute platform mutation scripts directly, bypassing higher-level tools
Covers: execute, run_ppc_script, inspect_script
writeOpt-in
budget:readView budgets, bid settings, pacing, and daily spend
Covers: get_account_daily_spend, analyze_cpc_trends
readYes
guardrails:readView configured spend guardrails and alerts
Covers: list_campaign_guardrails
readYes

AUDIENCES

Build, sync, and remove targeting audiences.

ScopeWhat it permitsTypeIn defaults
audiences:readList audiences and discover audience signals
Covers: list_audiences, find_audience_signals
readYes
audiences:writeBuild, attach, sync, and delete audiences on ad platforms
Covers: build_abm_audience, build_lookalike_audience, sync_audience, attach_audience, delete_audience
writeYes

CREATIVE

Generate and manage ad creative. Generation consumes credits.

ScopeWhat it permitsTypeIn defaults
creative:readList creative assets and review results
Covers: list_creative_assets, test_creatives
readYes
creative:generateGenerate images, video, voice, and ad copy — consumes workspace credits
Covers: create_image_asset, create_video_ad, create_ad_copy, generate_ugc_ad, generate_voice_ad
writeYes
creative:publishUpload creative to ad platforms and attach it to live ads
Covers: upload_creative, meta_ads_create_ad, reddit_ads_create_ad
writeYes

LANDING PAGES

Create, edit, and publish landing pages and custom domains.

ScopeWhat it permitsTypeIn defaults
landing_pages:writeCreate and edit landing pages
Covers: create_landing_page, update_landing_page_html, update_landing_page_tracking, create_landing_page_replica, create_verified_page_replica, update_verified_page_replica
writeYes
landing_pages:publishPublish landing pages to a public URL and configure custom domains
Covers: publish_landing_page, setup_custom_domain, verify_custom_domain
writeOpt-in
landing_pages:readView landing pages and their published status
Covers: get_competitor_landing_pages, fetch_website_report
readYes

TRACKING & TAGS

Read and change pixels, conversion tracking, and GTM containers.

ScopeWhat it permitsTypeIn defaults
tracking:readView pixels, conversion tracking, and GTM containers/tags
Covers: get_pixel_destinations, list_gtm_tags, list_gtm_containers
readYes
tracking:writeConfigure pixels and edit/publish GTM containers — changes live site tracking
Covers: configure_pixel_destination, update_gtm_tag, publish_gtm_container
writeOpt-in

MEASUREMENT

Attribution, incrementality, and cross-platform reconciliation.

ScopeWhat it permitsTypeIn defaults
measurement:readRead attribution, incrementality results, and cross-platform reconciliation
Covers: get_attribution, measure_incrementality, get_spend_reconciliation
readYes
measurement:writeConfigure attribution models and start incrementality/holdout tests
Covers: measure_incrementality, mmm_get_projections
writeOpt-in

CONNECTIONS

View and manage platform connections for the workspace.

ScopeWhat it permitsTypeIn defaults
connections:readView which platforms are connected and their health status
Covers: get_connection_status, list_connected_accounts, verify_platform_accounts
readYes
connections:writeConnect and disconnect platform accounts for the workspace — can cut off data collection
Covers: connect_platform, disconnect_platform
writeOpt-in
accounts:writeProvision new child ad accounts under the workspace's manager account
Covers: create_child_account, google_ads_create_customer_account
writeOpt-in

WORKSPACE

Documents, skills, memory, and workspace configuration the agent reads.

ScopeWhat it permitsTypeIn defaults
workspace:readRead workspace documents, skills, brand context, and agent memory
Covers: list_skills, load_skill, get_plugin_info, get_campaign_plan
readYes
workspace:writeCreate and delete workspace documents and reports
Covers: create_document, delete_document, publish_plan_document
writeYes
workspace:external_docsRead and write Google Docs, Sheets, and Drive files in the connected Google account
Covers: create_google_doc, create_google_sheet, read_google_sheet, update_google_sheet
writeOpt-in
workspace:notifySend messages to connected Slack channels
Covers: send_slack_message
writeOpt-in
workspace:codePush generated code and assets to a connected GitHub repository
Covers: publish_to_github
writeOpt-in

GROWTH & OUTBOUND

Prospecting, enrichment, and outbound sequences. Can contact real people.

ScopeWhat it permitsTypeIn defaults
growth:readRun company/contact discovery and firmographic enrichment
Covers: growth_discover, growth_enrich, builtwith_get_domain_technologies
readOpt-in
growth:writeRun outbound pipelines that can contact real people — enable deliberately
Covers: growth_run_pipeline
writeOpt-in

BILLING

Credit balance and spend visibility.

ScopeWhat it permitsTypeIn defaults
billing:readView credit balance and workspace spend
Covers: get_credit_balance, get_billing_status, forecast_tool_cost, forecast_campaign_fee
readYes

COMMERCE

Shopify, Merchant Center, product feeds, catalogs, and discounts.

ScopeWhat it permitsTypeIn defaults
commerce:readRead products, orders, catalogs, and Merchant Center feed status
Covers: shopify_get_products, google_merchant_get_feed_status
readYes
commerce:writeCreate and update products, discounts, catalogs, and product feeds — changes a live storefront
Covers: shopify_create_discount, meta_ads_create_product_catalog, google_merchant_submit_feed
writeOpt-in

EMAIL

Klaviyo and Loops email/SMS campaigns, flows, and templates.

ScopeWhat it permitsTypeIn defaults
email:readRead email/SMS campaigns, flows, templates, and engagement
Covers: klaviyo_get_templates, get_email_engagers
readYes
email:writeCreate and send email/SMS campaigns and flows — can send to real subscribers
Covers: klaviyo_create_campaign, loops_send_event
writeOpt-in

ORGANIC SOCIAL

Publish organic posts, replies, and DMs from connected profiles. Posts publicly under the customer's identity.

ScopeWhat it permitsTypeIn defaults
social:readRead organic posts, engagement, and follower data
Covers: x_get_mentions, linkedin_list_posts
readYes
social:writePublish organic posts, replies, and DMs under the customer's own identity — publicly visible
Covers: publish_organic_post, linkedin_post_content, x_quote_retweet
writeOpt-in

COMPETITIVE INTELLIGENCE

Competitor, market, keyword, and AI-search-visibility research.

ScopeWhat it permitsTypeIn defaults
intel:readRun competitor, keyword, market, and AI-search-visibility research
Covers: scrape_meta_ads_library, benchmark_ppc_budgets_spyfu, ask_gauge
readYes
intel:writeCreate and update tracked competitors, prompts, and research projects
Covers: gauge_create_prompts, add_competitor
writeOpt-in

EVENTS

Luma events, webinars, and guest lists.

ScopeWhat it permitsTypeIn defaults
events:readRead events, webinars, and guest lists
Covers: luma_get_events, luma_get_guests
readYes
events:writeCreate events and add guests — can email real attendees on the platform's behalf
Covers: luma_create_event, luma_update_event, luma_create_image, luma_create_guests
writeOpt-in

CODE & ENGINEERING

Generate and ship code, open pull requests, and run build pipelines. The most privileged group.

ScopeWhat it permitsTypeIn defaults
engineer:writeGenerate and push code, open pull requests, and run build/validation pipelines
Covers: engineer_build_feature, create_engineer_run, engineer_rerun
writeOpt-in

Legacy scopes

Every key issued before the granular model carries both of these. They continue to work; the scopes above supersede them.

ScopeWhat it permits
tools:readLegacy: read access to every read-only tool and endpoint. Superseded by the granular read scopes below.
tools:writeLegacy: write access to every mutating tool and endpoint. Superseded by the granular write scopes below.

Denied requests

A request the key is not scoped for returns 403 with the missing scope named, so you can add exactly what is needed:

{
  "error": "Insufficient permissions",
  "message": "Insufficient permissions: 'update_campaign_budget' requires the 'budget:write' scope.",
  "required_scope": "budget:write"
}
Was this page helpful?