Update a Campaign
Update a campaign’s name, status, budget, targeting, or bid strategy.
URL
PUT https://api.ads.apple.com/v1/campaigns/{id}Path Parameters
| Name | Type | Description |
|---|---|---|
id Required | string |
Header Parameters
| Name | Type | Description |
|---|---|---|
X-AP-Context Required | string |
Response Codes
| Status | Reason | Type | Description |
|---|---|---|---|
| 200 | OK Content-Type: application/json | CampaignResponse | |
| 400 | Bad Request Content-Type: application/json | ErrorResponse | |
| 401 | Unauthorized Content-Type: application/json | ErrorResponse | |
| 403 | Forbidden Content-Type: application/json | ErrorResponse | |
| 404 | Not Found Content-Type: application/json | ErrorResponse | |
| 429 | Too Many Requests Content-Type: application/json | ErrorResponse | |
| 500 | Internal Server Error Content-Type: application/json | ErrorResponse |
Discussion
This endpoint updates an existing campaign. It changes only the fields included in the request body. Omitted fields retain their current values. The promotedObjectType and promotedObjectId fields are not part of the CampaignUpdate schema. They’re immutable after campaign creation, so this endpoint can’t change them.
For Apple Maps campaigns, targeting.supplyPlacement follows the same omit-to-leave-unchanged rule as every other update field. Omitting it doesn’t expand targeting to every placement. A campaign created with a single Maps placement (MAPS_SEARCH_RESULTS or MAPS_SEARCH_HOME) can’t be widened to target both placements through this endpoint. See CampaignTargetingCreate.SupplyPlacement for how to set up both placements at create time instead.