## §OIP SYSTEM ARTICLE — Meta Ads (52 operations)
A generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.

### Read Order
- scan operations
- open a leaf doc
- run via run_now or POST /api/dispatch
- open receipt
- repair/replay if needed

### Operations
- **META** — Meta Graph API unified entrypoint (Marketing API)
  when: Meta ad accounts, campaigns, adsets, ads, creatives, insights, CAPI
  args: $1=op, $2..$N=args per op
  doc: https://miscsubjects.com/api/dispatch?key=META&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META&body=me&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META
- **META_CAPI_EVENT** — 
  when: per browser-side conversion event that needs to be mirrored to Meta CAPI server-side.
  doc: https://miscsubjects.com/api/dispatch?key=META_CAPI_EVENT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_CAPI_EVENT&body=%3Carg1%3E%7C%3Carg2%3E%7C%3Carg3%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_CAPI_EVENT
- **META_SYNC_BACKFILL** — Trigger lbl meta insights backfill. Ledgered.
  doc: https://miscsubjects.com/api/dispatch?key=META_SYNC_BACKFILL&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_SYNC_BACKFILL&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_SYNC_BACKFILL
- **META_ACCOUNTS** — Live Meta ad accounts via the loop-meta-bridge service binding. Lists every owned/authorized account and upser
  when: "what ad accounts do I have", "sync my meta accounts", refresh the ad-account list.
  args: none.
  doc: https://miscsubjects.com/api/dispatch?key=META_ACCOUNTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ACCOUNTS&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ACCOUNTS
- **META_INSIGHTS** — Per-account Meta performance (spend, impressions, clicks, purchases, ROAS) for a date preset, via the loop-met
  when: "how are my ads doing", "meta spend this week", reconcile ad spend against sales.
  args: $1 = date preset (today|yesterday|last_7d|last_14d|last_30d|last_90d, default last_7d). $2 = optional comma-separated act_ ids.
  doc: https://miscsubjects.com/api/dispatch?key=META_INSIGHTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_INSIGHTS&body=last_7d&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_INSIGHTS
- **META_HEALTH** — Bridge + token health — confirms the Meta token is bound and does a live /me ping. Surfaces permission errors 
  when: "is meta connected", debugging why insights are empty.
  args: none.
  doc: https://miscsubjects.com/api/dispatch?key=META_HEALTH&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_HEALTH&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_HEALTH
- **META_ADS_ACCOUNTS** — List all ad accounts (owned + client + authorized) with status, currency, spend.
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ACCOUNTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ACCOUNTS&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ACCOUNTS
- **META_ADS_ACCOUNT_GET** — Get one ad account: status, currency, spend, balance, spend_cap, funding, capabilities.
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ACCOUNT_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ACCOUNT_GET&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ACCOUNT_GET
- **META_ADS_CAMPAIGNS** — List campaigns in an ad account (id,name,status,objective,budgets,times).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CAMPAIGNS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CAMPAIGNS&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CAMPAIGNS
- **META_ADS_ADSETS** — List ad sets in an ad account (id,name,status,budget,campaign_id,effective_status).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ADSETS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ADSETS&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ADSETS
- **META_ADS_ADS** — List ads in an ad account (id,name,status,effective_status,adset_id,campaign_id,creative).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ADS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ADS&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ADS
- **META_ADS_CREATIVES** — List ad creatives (title,body,image_url,object_story_spec,cta,link).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CREATIVES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CREATIVES&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CREATIVES
- **META_ADS_IMAGES** — List ad images (name,url,hash,dimensions).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_IMAGES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_IMAGES&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_IMAGES
- **META_ADS_VIDEOS** — List ad videos (title,description,length,thumbnails).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_VIDEOS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_VIDEOS&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_VIDEOS
- **META_ADS_OBJECT_GET** — Get any Graph node by id with a fields list.
  args: JSON {id, fields?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_OBJECT_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_OBJECT_GET&body=%3CJSON%20%7Bid%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_OBJECT_GET
- **META_ADS_INSIGHTS** — Comprehensive reporting: insights at account/campaign/adset/ad level with fields, breakdowns, date_preset or t
  args: JSON {object_id|account_id, level?, fields?, breakdowns?, date_preset?, time_range?, time_increment?, action_attribution_windows?, filtering?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_INSIGHTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_INSIGHTS&body=%3CJSON%20%7Bobject_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_INSIGHTS
- **META_ADS_INSIGHTS_ASYNC_CREATE** — Start an async insights report job (large pulls).
  args: JSON {object_id|account_id, level?, fields?, breakdowns?, date_preset?|time_range?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_INSIGHTS_ASYNC_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_INSIGHTS_ASYNC_CREATE&body=%3CJSON%20%7Bobject_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_INSIGHTS_ASYNC_CREATE
- **META_ADS_INSIGHTS_ASYNC_STATUS** — Poll an async insights report job.
  args: JSON {report_run_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_INSIGHTS_ASYNC_STATUS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_INSIGHTS_ASYNC_STATUS&body=%3CJSON%20%7Breport_run_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_INSIGHTS_ASYNC_STATUS
- **META_ADS_INSIGHTS_ASYNC_RESULT** — Read a completed async insights report.
  args: JSON {report_run_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_INSIGHTS_ASYNC_RESULT&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_INSIGHTS_ASYNC_RESULT&body=%3CJSON%20%7Breport_run_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_INSIGHTS_ASYNC_RESULT
- **META_ADS_TARGETING_SEARCH** — Search targeting: interests, behaviors, demographics, employers, schools.
  args: JSON {q, type?, class?, limit?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_TARGETING_SEARCH&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_TARGETING_SEARCH&body=%3CJSON%20%7Bq%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_TARGETING_SEARCH
- **META_ADS_TARGETING_BROWSE** — Browse the targeting interest taxonomy.
  args: JSON {limit?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_TARGETING_BROWSE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_TARGETING_BROWSE&body=%3CJSON%20%7Blimit%3F%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_TARGETING_BROWSE
- **META_ADS_DELIVERY_ESTIMATE** — Estimated daily reach for a targeting spec + optimization goal.
  args: JSON {account_id, optimization_goal, targeting_spec}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_DELIVERY_ESTIMATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_DELIVERY_ESTIMATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_DELIVERY_ESTIMATE
- **META_ADS_CATALOGS** — List product catalogs on the business.
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOGS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOGS&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOGS
- **META_ADS_CATALOG_GET** — Get a product catalog (product_count, vertical, feed_count).
  args: JSON {catalog_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_GET&body=%3CJSON%20%7Bcatalog_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_GET
- **META_ADS_CATALOG_PRODUCTS** — List products in a catalog (retailer_id,availability,price,review_status,visibility).
  args: JSON {catalog_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_PRODUCTS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_PRODUCTS&body=%3CJSON%20%7Bcatalog_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_PRODUCTS
- **META_ADS_CATALOG_PRODUCT_SETS** — List product sets in a catalog.
  args: JSON {catalog_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_PRODUCT_SETS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_PRODUCT_SETS&body=%3CJSON%20%7Bcatalog_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_PRODUCT_SETS
- **META_ADS_CATALOG_FEEDS** — List data feeds in a catalog (schedule, latest_upload).
  args: JSON {catalog_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_FEEDS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_FEEDS&body=%3CJSON%20%7Bcatalog_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_FEEDS
- **META_ADS_CATALOG_DIAGNOSTICS** — Catalog diagnostics: data feed and item visibility issues.
  args: JSON {catalog_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_DIAGNOSTICS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_DIAGNOSTICS&body=%3CJSON%20%7Bcatalog_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_DIAGNOSTICS
- **META_ADS_PIXELS** — List ad account pixels/datasets (last_fired_time, availability, matching).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_PIXELS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_PIXELS&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_PIXELS
- **META_ADS_DATASET_STATS** — Signal health/quality stats for a pixel/dataset.
  args: JSON {pixel_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_DATASET_STATS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_DATASET_STATS&body=%3CJSON%20%7Bpixel_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_DATASET_STATS
- **META_ADS_AUDIENCES** — List custom audiences (subtype, size, operation_status).
  args: JSON {account_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_AUDIENCES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_AUDIENCES&body=%3CJSON%20%7Baccount_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_AUDIENCES
- **META_ADS_STUDIES** — List A/B tests and conversion-lift studies on the business.
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_STUDIES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_STUDIES&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_STUDIES
- **META_ADS_STUDY_GET** — Get an A/B test / lift study (cells, objectives, status).
  args: JSON {study_id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_STUDY_GET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_STUDY_GET&body=%3CJSON%20%7Bstudy_id%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_STUDY_GET
- **META_ADS_ACTIVITIES** — Activity log for an ad account (Ads Manager change history).
  args: JSON {account_id, limit?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ACTIVITIES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ACTIVITIES&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ACTIVITIES
- **META_ADS_MCP_TOOLS** — List every tool exposed by Metas hosted Ads MCP server (live proxy to mcp.facebook.com/ads).
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_MCP_TOOLS&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_MCP_TOOLS&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_MCP_TOOLS
- **META_ADS_CAMPAIGN_CREATE** — Create a campaign (defaults status PAUSED so it does not spend until activated).
  args: JSON {account_id, name, objective, status?, special_ad_categories?, buying_type?, bid_strategy?, daily_budget?, lifetime_budget?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CAMPAIGN_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CAMPAIGN_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CAMPAIGN_CREATE
- **META_ADS_CAMPAIGN_UPDATE** — Update a campaign (name, status, budget, bid_strategy).
  args: JSON {campaign_id|id, params:{...}}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CAMPAIGN_UPDATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CAMPAIGN_UPDATE&body=%3CJSON%20%7Bcampaign_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CAMPAIGN_UPDATE
- **META_ADS_ADSET_CREATE** — Create an ad set (defaults status PAUSED).
  args: JSON {account_id, name, campaign_id, optimization_goal, billing_event, daily_budget?|lifetime_budget?, targeting?, bid_amount?, promoted_object?, start_time?, end_time?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ADSET_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ADSET_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ADSET_CREATE
- **META_ADS_ADSET_UPDATE** — Update an ad set (status, budget, targeting, bid).
  args: JSON {adset_id|id, params:{...}}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_ADSET_UPDATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_ADSET_UPDATE&body=%3CJSON%20%7Badset_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_ADSET_UPDATE
- **META_ADS_AD_CREATE** — Create an ad (defaults status PAUSED).
  args: JSON {account_id, name, adset_id, creative:{creative_id}}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_AD_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_AD_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_AD_CREATE
- **META_ADS_AD_UPDATE** — Update an ad (status, creative, name).
  args: JSON {ad_id|id, params:{...}}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_AD_UPDATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_AD_UPDATE&body=%3CJSON%20%7Bad_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_AD_UPDATE
- **META_ADS_CREATIVE_CREATE** — Create an ad creative.
  args: JSON {account_id, name, object_story_spec|object_story_id|asset_feed_spec}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CREATIVE_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CREATIVE_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CREATIVE_CREATE
- **META_ADS_STATUS_SET** — Pause/activate/archive any campaign, ad set or ad.
  args: JSON {id, status:ACTIVE|PAUSED|ARCHIVED}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_STATUS_SET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_STATUS_SET&body=%3CJSON%20%7Bid%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_STATUS_SET
- **META_ADS_BUDGET_SET** — Set daily or lifetime budget (minor units / cents) on a campaign or ad set.
  args: JSON {id, daily_budget?|lifetime_budget?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_BUDGET_SET&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_BUDGET_SET&body=%3CJSON%20%7Bid%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_BUDGET_SET
- **META_ADS_OBJECT_DELETE** — Delete a campaign, ad set, ad or creative.
  args: JSON {id}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_OBJECT_DELETE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_OBJECT_DELETE&body=%3CJSON%20%7Bid%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_OBJECT_DELETE
- **META_ADS_CATALOG_CREATE** — Create a product catalog on the business.
  args: JSON {name, vertical?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_CATALOG_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_CATALOG_CREATE&body=%3CJSON%20%7Bname%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_CATALOG_CREATE
- **META_ADS_AUDIENCE_CREATE** — Create a custom audience (website/customer-list/engagement).
  args: JSON {account_id, name, subtype, rule?|customer_file_source?, description?, retention_days?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_AUDIENCE_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_AUDIENCE_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_AUDIENCE_CREATE
- **META_ADS_LOOKALIKE_CREATE** — Create a lookalike audience from a source custom audience.
  args: JSON {account_id, name, origin_audience_id, country?, ratio?}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_LOOKALIKE_CREATE&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_LOOKALIKE_CREATE&body=%3CJSON%20%7Baccount_id%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_LOOKALIKE_CREATE
- **META_ADS_MCP_CALL** — Call any tool on Metas hosted Ads MCP server by name (live proxy).
  args: JSON {name, arguments:{...}}.
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_MCP_CALL&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_MCP_CALL&body=%3CJSON%20%7Bname%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_MCP_CALL
- **META_ADS_PORTFOLIO** — Whole-portfolio rollup: every ad account with spend, total historical spend, spend-by-business, businesses and
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_PORTFOLIO&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_PORTFOLIO&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_PORTFOLIO
- **META_ADS_BUSINESSES** — List every Business Manager the user can access (id, name, verification_status).
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_BUSINESSES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_BUSINESSES&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_BUSINESSES
- **META_ADS_PAGES** — List every Facebook Page the user manages (id, name, category).
  args: JSON {} (no args).
  doc: https://miscsubjects.com/api/dispatch?key=META_ADS_PAGES&format=markdown
  run: https://miscsubjects.com/api/dispatch?invoke=META_ADS_PAGES&body=%3CJSON%20%7B%7D%3E&share=<TOKEN>
  history: https://miscsubjects.com/api/invocations?object_id=META_ADS_PAGES

### Troubleshooting
- If a row's example has placeholders, replace only the placeholder values and preserve separators.
- If a call fails, open its receipt and repair it with POST /api/dispatch {key, body, repairs:'inv_ID'}.
- If token scope denies this system, ask the owner for a row:/rows:/pfx: token scoped to the exact operation set.

Back to the tree: https://miscsubjects.com/api/dispatch?map=1&format=markdown