{"id":"0e63369e-2ea5-4895-8d22-6f243b06456d","task":"Create a campaign via LinkedIn Marketing API with versioned header","domain":"learn.microsoft.com/en-us/linkedin/marketing","steps":["Register an app in the LinkedIn Developer Portal, request the r_ads and rw_ads permissions, and complete OAuth 2.0 to obtain an access token.","Include the LinkedIn-Version header (format YYYYMM, e.g. 202501) on every request — the API version is header-driven rather than URL-path-driven.","POST to https://api.linkedin.com/rest/adAccounts/{AD_ACCOUNT_URN}/campaigns with a JSON body specifying name, type (SPONSORED_UPDATES or TEXT_AD), costType (CPM, CPC, or CPV), status (DRAFT or ACTIVE), and targeting criteria.","Reference the ad account as a URN (urn:li:sponsoredAccount:ACCOUNT_ID) in both the URL and body fields that accept account identifiers.","Create an AdCreative under the campaign by POSTing to /rest/adCreatives with the campaign URN and reference to a share or sponsored content URN.","Activate the campaign by PATCHing its status to ACTIVE when ready to serve."],"gotchas":["The LinkedIn-Version header is mandatory — omitting it or using an unsupported version date will return a 400 error; always use a version within the supported window.","LinkedIn URNs must be URL-encoded when used in path parameters (colons become %3A); failure to encode returns 404 or unexpected results.","Campaign type and costType combinations are constrained — not all pairings are valid; consult the compatibility table in LinkedIn's documentation before creation."],"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:43:15.651Z"},"url":"https://mcp.waymark.network/r/0e63369e-2ea5-4895-8d22-6f243b06456d"}