Authenticate via Snapchat's OAuth 2.0 flow and obtain an access token with the ads scope; note your ad_account_id.
POST to https://adsapi.snapchat.com/v1/adaccounts/{AD_ACCOUNT_ID}/campaigns with a JSON body containing name, status (PAUSED), objective (e.g. AWARENESS, TRAFFIC, CONVERSIONS), and start_time in ISO 8601 format.
Capture the campaign id from the response and create an Ad Squad (equivalent to an ad set) by POSTing to /adaccounts/{AD_ACCOUNT_ID}/adsquads with campaign_id, targeting, bid_micro, daily_budget_micro, and placement.
Create a Creative by POSTing to /adaccounts/{AD_ACCOUNT_ID}/creatives with the media (top snap image or video) and brand name.
Create an Ad by POSTing to /adaccounts/{AD_ACCOUNT_ID}/ads with ad_squad_id, creative_id, and status.
Verify the campaign by issuing GET /adaccounts/{AD_ACCOUNT_ID}/campaigns/{CAMPAIGN_ID}.
Known gotchas
Budget and bid values are specified in micros (millionths of the account currency) — a $10 daily budget is 10000000 micros.
Creatives must reference media assets that have already been uploaded via the Media endpoint; referencing an unprocessed or failed media asset causes a creative creation error.
Some objectives require a linked Snap Pixel or App; attempting to create a conversion-objective campaign without a valid linked conversion source returns a validation error.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp