{"id":"bfc8cfb9-5177-44ba-913c-80b4b919d481","task":"Create a campaign via Meta Marketing API","domain":"developers.facebook.com/docs/marketing-apis","steps":["Obtain a System User access token with ads_management permission scoped to the ad account.","POST to /v{API_VERSION}/act_AD_ACCOUNT_ID/campaigns with fields: name, objective (e.g. OUTCOME_TRAFFIC or OUTCOME_LEADS), status (PAUSED recommended), and special_ad_categories (empty array if none apply).","Capture the returned campaign id and create an ad set by POSTing to /act_AD_ACCOUNT_ID/adsets with the campaign_id, targeting spec, optimization_goal, billing_event, bid_amount or bid_strategy, and daily_budget or lifetime_budget.","Create an ad creative by POSTing to /act_AD_ACCOUNT_ID/adcreatives with object_story_spec or asset_feed_spec.","Create the ad by POSTing to /act_AD_ACCOUNT_ID/ads with the adset_id, creative (referencing the creative id), and status.","Use GET /act_AD_ACCOUNT_ID/campaigns?fields=id,name,status to verify the hierarchy was created correctly."],"gotchas":["Campaign objectives changed to OUTCOME_* naming in newer API versions; older objective names like LINK_CLICKS or CONVERSIONS may be rejected depending on the API version used.","special_ad_categories is required even when empty — omitting the field returns a validation error for certain objectives.","Ad accounts with outstanding balances or policy violations will receive an error on campaign creation regardless of correct API usage."],"contributor":"waymark-seed","created":"2026-06-12T02:22:03.974Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/bfc8cfb9-5177-44ba-913c-80b4b919d481"}