---
title: "/2026-01/retail-media/campaigns/{campaignId}"
method: PUT
path: "/2026-01/retail-media/campaigns/{campaignId}"
tags: ["Campaign"]
---

# /2026-01/retail-media/campaigns/{campaignId}

`PUT /2026-01/retail-media/campaigns/{campaignId}`

## Request

- Base URL: `https://api.criteo.com`
- URL: `https://api.criteo.com/2026-01/retail-media/campaigns/{campaignId}`
- Auth: OAuth 2
  - Authorization code: `https://api.criteo.com/oauth2`
  - Client credentials
  - Token URL: `https://api.criteo.com/oauth2/token` scopes: `RetailMedia_Campaign_Manage`
- TypeScript: <https://skmtc.dev/criteo/apis/criteo-api/docs/2026-01/retail-media/campaigns/:campaignId/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates the campaign for the given campaign id

## Path parameters

- `campaignId` string, required

## Request body

- PutCampaignV202301: An object that represents the available options to set when editing a Retail Media Campaign
  - `data` JsonApiBodyWithExternalIdOfEditableCampaignAttributesV202301AndCampaignV202301: A JSON:API wrapper class to format a <typeparamref name="TAttributes" /> with Id, Type, and Attributes properties
    - `attributes` EditableCampaignAttributesV202301: An object that represents the available options to set when editing a Retail Media Campaign
      - `budget` number, double, nullable
      - `clickAttributionScope` 'unknown' | 'sameSku' | 'sameSkuCategory' | 'sameSkuCategoryBrand', nullable
      - `clickAttributionWindow` '7D' | '14D' | '30D' | 'unknown', required
      - `companyName` string, nullable
      - `dailyPacing` number, double, nullable
      - `endDate` string, date-time, nullable
      - `isAutoDailyPacing` boolean, required
      - `monthlyPacing` number, double, nullable
      - `name` string, required
      - `onBehalfCompanyName` string, nullable
      - `startDate` string, date-time, nullable
      - `viewAttributionScope` 'unknown' | 'sameSku' | 'sameSkuCategory' | 'sameSkuCategoryBrand', nullable
      - `viewAttributionWindow` 'none' | '1D' | '7D' | '14D' | '30D' | 'unknown', required
    - `id` string, long-id, required
    - `type` string, required

## Response `200`

Success

- JsonApiSingleResponseOfCampaignV202301: A JSON:API wrapper class to add one JSON:API <typeparamref name="T" /> within a data property
  - `data` JsonApiBodyWithIdOfInt64AndCampaignV202301AndCampaignV202301, required: A JSON:API wrapper class to format a <typeparamref name="TAttributes" /> with Id, Type, and Attributes properties
    - `attributes` CampaignV202301: A Retail Media Campaign used to represent an advertiser's marketing objective
      - `accountId` string, long-id, required
      - `budget` number, double, nullable
      - `budgetRemaining` number, double, nullable
      - `budgetSpent` number, double, nullable
      - `clickAttributionScope` 'unknown' | 'sameSku' | 'sameSkuCategory' | 'sameSkuCategoryBrand', nullable
      - `clickAttributionWindow` '7D' | '14D' | '30D' | 'unknown'
      - `companyName` string, nullable
      - `createdAt` string, date-time, required
      - `dailyPacing` number, double, nullable
      - `drawableBalanceIds` string[]
      - `endDate` string, date-time, nullable
      - `isAutoDailyPacing` boolean, required
      - `monthlyPacing` number, double, nullable
      - `name` string, required
      - `onBehalfCompanyName` string, nullable
      - `promotedBrandIds` string[]
      - `retailerId` integer, nullable
      - `startDate` string, date-time, nullable
      - `status` 'unknown' | 'active' | 'inactive' | 'scheduled' | 'ended'
      - `type` 'unknown' | 'auction' | 'preferred'
      - `updatedAt` string, date-time, required
      - `viewAttributionScope` 'unknown' | 'sameSku' | 'sameSkuCategory' | 'sameSkuCategoryBrand', nullable
      - `viewAttributionWindow` 'none' | '1D' | '7D' | '14D' | '30D' | 'unknown'
    - `id` string, long-id, required
    - `type` string, required
  - `errors` CommonError[]
    - `code` string, nullable: (REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case.
    - `detail` string, nullable: (RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.
    - `instance` string, nullable: (REQUIRED) A URI reference that identifies the specific occurrence of the problem.
    - `source` object, nullable: (OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable: (NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology
    - `title` string, nullable: (RECOMMENDED) A short, human-readable summary of the problem type.
    - `traceId` string, nullable: (REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable: (REQUIRED) The classification of the error.
  - `warnings` CommonWarning[]
    - `code` string, nullable: (REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case.
    - `detail` string, nullable: (RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.
    - `instance` string, nullable: (REQUIRED) A URI reference that identifies the specific occurrence of the problem.
    - `source` object, nullable: (OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable: (NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology
    - `title` string, nullable: (RECOMMENDED) A short, human-readable summary of the problem type.
    - `traceId` string, nullable: (REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable: (REQUIRED) The classification of the error.

---

[API](https://skmtc.dev/criteo/apis/criteo-api.md) - [All operations](https://skmtc.dev/criteo/apis/criteo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/criteo/apis/criteo-api/revisions/c1721589426a?raw)
