Skip to main content
PUT
/
campaigns
/
{campaignId}
Update campaign
curl --request PUT \
  --url https://api.agentic.scope3.com/api/v2/buyer/campaigns/{campaignId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "campaign": {
    "campaignId": "cmp_987654321",
    "advertiserId": "12345",
    "name": "Summer 2025 Campaign",
    "status": "DRAFT",
    "optimizationApplyMode": "AUTO",
    "createdAt": "2025-01-15T10:30:00Z",
    "updatedAt": "2025-01-20T14:45:00Z",
    "brief": "<string>",
    "flightDates": {
      "startDate": "2025-01-15T00:00:00Z",
      "endDate": "2025-03-31T23:59:59Z"
    },
    "budget": {
      "total": 1,
      "currency": "USD",
      "dailyCap": 1,
      "pacing": "EVEN"
    },
    "constraints": {
      "channels": [
        "<string>"
      ],
      "countries": [
        "<string>"
      ]
    },
    "performanceConfig": {
      "optimizationGoals": [
        {
          "kind": "event",
          "eventSources": [
            {
              "eventSourceId": "website_pixel",
              "eventType": "page_view",
              "customEventName": "<string>",
              "valueField": "value",
              "valueFactor": 1
            }
          ],
          "target": {
            "kind": "cost_per",
            "value": 25
          },
          "attributionWindow": {
            "postClick": {
              "interval": 7,
              "unit": "days"
            },
            "postView": {
              "interval": 1,
              "unit": "days"
            }
          },
          "priority": 1
        }
      ]
    },
    "catalogId": 42,
    "discoveryId": "session_abc123",
    "productCount": 15,
    "products": [
      {
        "productId": "prod_123"
      }
    ],
    "audiences": [
      {
        "audienceId": "aud_123",
        "name": "Tech Enthusiasts 25-34",
        "status": "READY",
        "type": "TARGET",
        "enabledAt": "2025-03-01T12:00:00Z"
      }
    ],
    "mediaBuys": [
      {
        "mediaBuyId": "<string>",
        "name": "<string>",
        "status": "<string>",
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z",
        "products": [
          {
            "productId": "<string>",
            "salesAgentName": "<string>",
            "budget": 123,
            "budgetCurrency": "<string>"
          }
        ],
        "packages": [
          {
            "packageId": "<string>",
            "status": "<string>",
            "productIds": [
              "<string>"
            ],
            "budget": 123,
            "budgetCurrency": "<string>",
            "pacing": "<string>",
            "bidPrice": 123,
            "delivery": {
              "impressions": 123,
              "spend": 123,
              "clicks": 123
            }
          }
        ]
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

id
string
required

Unique identifier for the campaign

Minimum string length: 1
Example:

"cmp_987654321"

Body

application/json

Request body for updating a campaign

name
string

Updated campaign name

Required string length: 1 - 255
flightDates
object

Updated campaign flight dates

budget
object

Updated budget configuration (partial updates allowed)

brief
string

Updated campaign brief

Maximum string length: 5000
constraints
object

Updated targeting constraints

discoveryId
string

Attach a discovery session to the campaign

Minimum string length: 1
audienceConfig
object

Audience targeting and suppression configuration. Use deleteMissing: true to replace the full audience set.

performanceConfig
object

Updated performance configuration

optimizationApplyMode
enum<string>

Controls whether Scope3 AI model optimizations to media buys are applied automatically or require manual approval. If omitted, inherits the advertiser-level setting.

Available options:
AUTO,
MANUAL
catalogId
integer | null

Catalog ID to attach (or null to detach the current catalog)

Required range: x <= 9007199254740991
mediaBuys
object[]

Media buy actions. Each entry targets a specific media buy by ID. Use action: "update" (default) to modify, "cancel" to cancel, or "delete" to archive.

utmConfig
object

UTM (Urchin Tracking Module) parameter configuration for this campaign. Use deleteMissing: true to replace; otherwise additive.

Response

Update campaign

Response containing a single campaign

campaign
object
required

Campaign resource representation