---
title: "Update an existing campaign"
method: PATCH
path: "/measurement/campaigns/{id}"
tags: ["Campaigns"]
---

# Update an existing campaign

`PATCH /measurement/campaigns/{id}`

## Path parameters

- `id` string, required

## Request body

- object
  - `measurementCampaign` CampaignUpdatableAttributes, required
    - `name` string, required — The name of the campaign.
    - `operativeId` string
    - `salesforceId` string
    - `startDate` string, date
    - `endDate` string, date
    - `attributionMethodology` 'last_touch' | 'equal_credit'

## Response `200`

OK

- object
  - `measurementCampaign` CampaignWithParentAndChildren
    - `id` string
    - `name` string
    - `startDate` string, date
    - `endDate` string, date
    - `attributionMethodology` 'last_touch' | 'equal_credit'
    - `operativeId` string
    - `salesforceId` string
    - `customEvents` CustomViewEvent[]
      - `id` integer — Magellan AI's ID for the custom view event.
      - `label` string
      - `pattern` string
    - `pixel` Pixel
      - `id` string
      - `name` string
      - `brand` object
        - `crmBrandId` string
        - `name` string
    - `ads` union[]
      - union
        - BakedInAd
          - `id` string
          - `name` string
          - `uid` string
          - `podcast` object
            - `id` integer — Magellan AI's ID for the podcast on which this ad will run, as used in the competitive intelligence platform. (Only returned if a podcast is associated with this ad.)
            - `title` string
        - DisplayAd
          - `id` string
          - `name` string
          - `uid` string
          - `adServer` 'acast' | 'adarcade' | 'adswizz' | 'amperwave' | 'art19' | 'audioboom' | 'audiohook' | 'audiomeans' | 'barstool' | 'basis' | 'beeswax' | 'beeswax_pod' | 'beeswax_stream' | 'dax' | 'dovetail' | 'dv_360' | 'frequency_ads' | 'gam' | 'gt_impression' | 'iheart_pd' | 'iheart_stream' | 'mediamath' | 'megaphone' | 'omny' | 'podbean' | 'redcircle' | 'sas' | 'simplecast' | 'soundcast' | 'soundstack' | 'spgam' | 'spotify' | 'spreaker' | 'tap' | 'transistor' | 'triton' | 'triton_pd' | 'triton_streaming' | 'ttd' | 'xandr' | 'xandr_pod' | 'xandr_stream'
          - `redirectUrl` string, uri — Where Magellan AI will redirect people after their response has been recorded.
        - DynamicAd
          - `id` string
          - `name` string
          - `uid` string
          - `adServer` 'acast' | 'adarcade' | 'adswizz' | 'amperwave' | 'art19' | 'audioboom' | 'audiohook' | 'audiomeans' | 'barstool' | 'basis' | 'beeswax' | 'beeswax_pod' | 'beeswax_stream' | 'dax' | 'dovetail' | 'dv_360' | 'frequency_ads' | 'gam' | 'gt_impression' | 'iheart_pd' | 'iheart_stream' | 'mediamath' | 'megaphone' | 'omny' | 'podbean' | 'redcircle' | 'sas' | 'simplecast' | 'soundcast' | 'soundstack' | 'spgam' | 'spotify' | 'spreaker' | 'tap' | 'transistor' | 'triton' | 'triton_pd' | 'triton_streaming' | 'ttd' | 'xandr' | 'xandr_pod' | 'xandr_stream'
          - `streaming` boolean — Whether this ad is a streaming ad.

## Other responses

- `401` — Unauthorized
- `404` — Not Found
- `422` — Unprocessable Content

---

[API](https://skmtc.net/magellan/apis/magellan-ai-api.md) · [All operations](https://skmtc.net/magellan/apis/magellan-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/magellan/magellan-ai-api/revisions/a5681791212b/schema)
