---
updatedAt: 2026-06-29T15:20:31.000Z
---

# Update an existing campaign

This API allows you to modify an existing campaign's details and manage its associated items. You must provide the campaign's unique ID along with the necessary changes in the request. The specified updates will be applied while preserving the campaign's unique identifier.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Advertising",
    "version": "1.0",
    "description": "Search Engine Marketing (SEM) allows you to promote your listings through Google Shopping Ads and reach customers who are searching on Google for products like yours."
  },
  "x-readme": {
    "samples-languages": [
      "shell"
    ],
    "proxy-enabled": false
  },
  "servers": [
    {
      "url": "https://marketplace.walmartapis.com",
      "description": "Production URL"
    },
    {
      "url": "https://sandbox.walmartapis.com",
      "description": "Sandbox URL"
    }
  ],
  "paths": {
    "/v3/advertising/sem/campaigns/{campaignId}": {
      "put": {
        "tags": [
          "Campaign Management"
        ],
        "summary": "Update an existing campaign",
        "description": "This API allows you to modify an existing campaign's details and manage its associated items. You must provide the campaign's unique ID along with the necessary changes in the request. The specified updates will be applied while preserving the campaign's unique identifier.",
        "operationId": "updateCampaign",
        "parameters": [
          {
            "name": "campaignId",
            "in": "path",
            "description": "Campaign ID of the campaign to be updated.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/accessToken"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/channelType"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/correlationId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/svcName"
          }
        ],
        "requestBody": {
          "description": "Request Payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CampaignUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SemErrorResponse400"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SemErrorResponse404"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SemErrorResponse500"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "CampaignResponse": {
        "type": "object",
        "properties": {
          "campaignId": {
            "type": "string",
            "description": "Unique identifier for the campaign.",
            "example": "123456789"
          }
        }
      },
      "SemError400": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "A unique identifier for the type of error. This helps in quickly recognizing and categorizing the specific issue.",
            "example": "INVALID_REQUEST.SEM_API"
          },
          "description": {
            "type": "string",
            "description": "A detailed message explaining what caused the error. This provides more context about the issue.",
            "example": "Request not valid"
          },
          "info": {
            "type": "string",
            "description": "A brief summary of the error, often used for a quick understanding of the issue.",
            "example": "End date cannot be before start date"
          },
          "severity": {
            "type": "string",
            "description": "Indicates the criticality of the error. Common values include `ERROR`, `WARNING`, or `INFO`.",
            "example": "Error"
          },
          "category": {
            "type": "string",
            "description": "Classifies the error into a specific group or type, which helps in organizing and managing different types of issues.",
            "example": "Data specific error"
          }
        }
      },
      "SemErrorResponse400": {
        "type": "object",
        "properties": {
          "error": {
            "type": "array",
            "description": "An array containing error messages related to the request.",
            "items": {
              "$ref": "#/components/schemas/SemError400"
            }
          }
        }
      },
      "SemError404": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "A unique identifier for the type of error. This helps in quickly recognizing and categorizing the specific issue.",
            "example": "CONTENT_NOT_FOUND.SEM_API"
          },
          "description": {
            "type": "string",
            "description": "A detailed message explaining what caused the error. This provides more context about the issue.",
            "example": "Requested content not found"
          },
          "info": {
            "type": "string",
            "description": "A brief summary of the error, often used for a quick understanding of the issue.",
            "example": "Data not found for the given campaign ID"
          },
          "severity": {
            "type": "string",
            "description": "Indicates the criticality of the error. Common values include ERROR, WARNING, or INFO.",
            "example": "Info"
          },
          "category": {
            "type": "string",
            "description": "Classifies the error into a specific group or type, which helps in organizing and managing different types of issues.",
            "example": "Application specific error"
          }
        }
      },
      "SemErrorResponse404": {
        "type": "object",
        "properties": {
          "error": {
            "type": "array",
            "description": "An array containing error messages related to the request.",
            "items": {
              "$ref": "#/components/schemas/SemError404"
            }
          }
        }
      },
      "SemError500": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "A unique identifier for the type of error. This helps in quickly recognizing and categorizing the specific issue.",
            "example": "SYSTEM_ERROR.SEM_API"
          },
          "description": {
            "type": "string",
            "description": "A detailed message explaining what caused the error. This provides more context about the issue.",
            "example": "Internal server error"
          },
          "info": {
            "type": "string",
            "description": "A brief summary of the error, often used for a quick understanding of the issue.",
            "example": "An unexpected error occurred"
          },
          "severity": {
            "type": "string",
            "description": "Indicates the criticality of the error. Common values include `ERROR`, `WARNING`, or `INFO`.",
            "example": "Error"
          },
          "category": {
            "type": "string",
            "description": "Classifies the error into a specific group or type, which helps in organizing and managing different types of issues.",
            "example": "System specific error"
          }
        }
      },
      "SemErrorResponse500": {
        "type": "object",
        "properties": {
          "error": {
            "type": "array",
            "description": "An array containing error messages related to the request.",
            "items": {
              "$ref": "#/components/schemas/SemError500"
            }
          }
        }
      },
      "CampaignItemsOperation": {
        "required": [
          "operationType",
          "skus"
        ],
        "type": "object",
        "properties": {
          "operationType": {
            "type": "string",
            "description": "Type of operation to perform on campaign items. Allowed values: `ADD` or `REMOVE`.",
            "enum": [
              "ADD",
              "REMOVE"
            ]
          },
          "skus": {
            "type": "array",
            "description": "List of SKUs associated with the campaign. Must contain between 1 and 10,000 SKUs.",
            "example": [
              "sku_07144442400738_test",
              "sku_00993001888299_test"
            ],
            "items": {
              "type": "string",
              "description": "List of SKUs associated with the campaign. Must contain between 1 and 10,000 SKUs.",
              "example": "[\"sku_07144442400738_test\",\"sku_00993001888299_test\"]"
            }
          }
        },
        "description": "List of operations to perform on campaign items."
      },
      "CampaignUpdateMetadata": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the campaign. Allowed characters: letters, digits, dashes, underscores, and spaces. Maximum 255 characters allowed.",
            "example": "New Year Campaign"
          },
          "startDate": {
            "pattern": "yyyy-MM-dd",
            "type": "string",
            "description": "Start date of the campaign in yyyy-MM-dd format.",
            "example": "2024-01-01"
          },
          "endDate": {
            "pattern": "yyyy-MM-dd",
            "type": "string",
            "description": "End date of the campaign in yyyy-MM-dd format.",
            "example": "2024-01-31",
            "default": "9999-12-30"
          },
          "dailyBudget": {
            "type": "number",
            "description": "Daily budget allocated for the campaign. Must be a positive value with up to two decimal places. Daily budget must be between $5.00 and $2,500.00.",
            "example": 100
          },
          "totalBudget": {
            "type": "number",
            "description": "Total budget allocated for the campaign. Total budget must be between $5.00 and $250,000.00. Cannot be updated to a value less than what has already been spent.",
            "example": 1000
          },
          "biddingStrategyType": {
            "type": "string",
            "description": "Bidding strategy type for the campaign.",
            "example": "TARGET_ROAS",
            "enum": [
              "TARGET_ROAS",
              "MAXIMIZE_TRAFFIC"
            ]
          },
          "targetRoas": {
            "type": "number",
            "description": "Target ROAS for the campaign. Must be a positive value between 1.00 and 20.00, with up to two decimal places.",
            "format": "double",
            "example": 3,
            "default": 3.5
          }
        },
        "description": "Metadata for updating the campaign."
      },
      "CampaignUpdateRequest": {
        "type": "object",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/CampaignUpdateMetadata"
          },
          "itemsOperations": {
            "type": "array",
            "description": "List of operations to perform on campaign items.",
            "items": {
              "$ref": "#/components/schemas/CampaignItemsOperation"
            }
          }
        }
      }
    },
    "parameters": {
      "accessToken": {
        "name": "WM_SEC.ACCESS_TOKEN",
        "in": "header",
        "description": "Access token obtained from the Token API. This is required for authenticating requests to Walmart Marketplace APIs.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "eyJraWQiOiIxNWNhNGIyYi0yODVjLTQ0ZDUtYmExNC05ZDk1NTlkZmUwNjgiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiZGlyIn0...."
      },
      "channelType": {
        "name": "WM_CONSUMER.CHANNEL.TYPE",
        "in": "header",
        "description": "A unique ID to identify the consumer request by channel. Use the Consumer Channel Type received during onboarding.",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "correlationId": {
        "name": "WM_QOS.CORRELATION_ID",
        "in": "header",
        "description": "A unique ID that identifies each API call and is used to track and debug issues. Use a randomly generated GUID for this ID.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "b3261d2d-028a-4ef7-8602-633c23200af6"
      },
      "svcName": {
        "name": "WM_SVC.NAME",
        "in": "header",
        "description": "Specifies the name of the Walmart service being called.",
        "required": true,
        "schema": {
          "type": "string"
        },
        "example": "Walmart Marketplace"
      }
    }
  }
}
```