> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# /experimental/retail-media/campaigns/{campaign-id}

> Selectively updates a campaign. Omitted properties remain unchanged.



## OpenAPI

````yaml https://api.criteo.com/experimental/retailmedia/open-api-specifications.json patch /experimental/retail-media/campaigns/{campaign-id}
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: Experimental
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Accounts
  - name: Analytics
  - name: Audience
  - name: Balance
  - name: Campaign
  - name: Catalog
  - name: Gateway
  - name: OnSiteRecommendation
  - name: ThirdPartyAccounts
paths:
  /experimental/retail-media/campaigns/{campaign-id}:
    patch:
      tags:
        - Campaign
      summary: /experimental/retail-media/campaigns/{campaign-id}
      description: Selectively updates a campaign. Omitted properties remain unchanged.
      operationId: UpdateCampaign
      parameters:
        - name: campaign-id
          in: path
          description: The external id of the campaign.
          required: true
          schema:
            type: string
      requestBody:
        description: The campaign fields to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CampaignUpdateModelRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignModelResponse'
      security:
        - oauth:
            - RetailMedia_Campaign_Manage
components:
  schemas:
    CampaignUpdateModelRequest:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CampaignUpdateModelResource'
      additionalProperties: false
      description: >-
        A top-level object that encapsulates a Criteo API request for a single
        value object.
    CampaignModelResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CampaignModelResource'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          description: Errors that occured during this call.
          nullable: true
          readOnly: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          description: Warnings that occured during this call.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: >-
        A top-level object that encapsulates a Criteo API response for a single
        entity.
    CampaignUpdateModelResource:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/CampaignUpdateModel'
        type:
          type: string
          description: Type of the resource.
          nullable: true
      additionalProperties: false
      description: A value resource exposed by the API.
    CampaignModelResource:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/CampaignModel'
        id:
          type: string
          description: Unique id of the entity.
          nullable: true
        type:
          type: string
          description: Type of the resource.
          nullable: true
      additionalProperties: false
      description: A domain entity exposed by the API, identified by a unique id.
      nullable: true
    CommonProblem:
      type: object
      properties:
        code:
          type: string
          description: A machine-readable error code, expressed as a string value.
          nullable: true
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem
          nullable: true
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            A machine-readable structure to reference to the exact location(s)
            causing the error(s)
          nullable: true
        stackTrace:
          type: string
          nullable: true
        title:
          type: string
          description: A short human-readable description of the problem type
          nullable: true
        traceId:
          type: string
          description: The request correlation ID this problem comes from.
          nullable: true
        traceIdentifier:
          type: string
          description: >-
            The request correlation ID this problem comes from. (deprecated, use
            traceId instead)
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: The problem's category.
          nullable: true
      description: Common problem object.
    CampaignUpdateModel:
      type: object
      properties:
        attributionSettings:
          $ref: '#/components/schemas/AttributionSettingsUpdateModel'
        budget:
          $ref: '#/components/schemas/DynamicBudgetUpdateModel'
        companyName:
          $ref: '#/components/schemas/StringNillableV2'
        name:
          type: string
          nullable: true
        onBehalfCompanyName:
          $ref: '#/components/schemas/StringNillableV2'
        scheduleDetails:
          $ref: '#/components/schemas/ScheduleDetailsUpdateModel'
      additionalProperties: false
      description: "Fields of a campaign that may be changed after creation.\r\nOmitted fields remain unchanged; nullable wrappers distinguish omission from an explicit null."
    CampaignModel:
      type: object
      properties:
        accountId:
          type: string
          description: >-
            Account ID associated with the campaign, generated internally by
            Criteo.
          nullable: true
        attributionSettings:
          $ref: '#/components/schemas/AttributionSettingsModel'
        billByRetailerId:
          type: string
          description: "The retailer this campaign is associated with, set only on creation. Required when using a\r\nretailer budget balance."
          nullable: true
        budget:
          $ref: '#/components/schemas/CampaignBudgetModel'
        buyType:
          enum:
            - Unknown
            - Auction
            - PreferredDeals
            - Sponsorship
          type: string
          description: Buy type of campaign, set only on creation.
          nullable: true
        campaignType:
          enum:
            - Unknown
            - SponsoredProducts
            - OnsiteDisplay
          type: string
          description: Type of campaign, set only on creation.
          nullable: true
        companyName:
          type: string
          description: "This optional field, exclusively accessible to marketplaces within the European Union (in\r\ncompliance with the Digital Service Act - DSA), will display the name of the company\r\nassociated with the advertisement."
          nullable: true
        createdAt:
          type: string
          description: Timestamp of campaign creation, in UTC.
          format: date-time
          nullable: true
        id:
          type: string
          description: Campaign ID, generated internally by Criteo.
          nullable: true
        name:
          type: string
          description: Campaign name; must be unique within an Account.
          nullable: true
        objective:
          enum:
            - Manual
            - Clicks
            - Conversion
            - Revenue
            - Impressions
            - Unknown
          type: string
          description: Objective of a campaign.
          nullable: true
        onBehalfCompanyName:
          type: string
          description: "This optional field, exclusively accessible to marketplaces within the European Union (in\r\ncompliance with the Digital Service Act - DSA), will display the name of the company (on\r\nbehalf of companyName) associated with the advertisement."
          nullable: true
        regulatedCategory:
          enum:
            - Unknown
            - None
            - Alcohol
          type: string
          description: Regulated category the campaign advertises in, set only on creation.
          nullable: true
        scheduleDetails:
          $ref: '#/components/schemas/ScheduleDetailsModel'
        status:
          enum:
            - Unknown
            - Active
            - Inactive
          type: string
          description: "Campaign status, derived from the status of Line Items it holds; active if at least\r\none line item is active."
          nullable: true
        updatedAt:
          type: string
          description: Timestamp of last campaign update, in UTC.
          format: date-time
          nullable: true
      additionalProperties: false
      description: "A campaign. A campaign groups line items that share attribution settings, flight dates and\r\nbudget."
      nullable: true
    AttributionSettingsUpdateModel:
      type: object
      properties:
        clickAttributionScope:
          enum:
            - SameSku
            - SameSkuCategory
            - SameSkuCategoryBrand
          type: string
          description: Post-click attribution scope setting.
          nullable: true
        clickAttributionWindow:
          enum:
            - OneWeek
            - TwoWeeks
            - OneMonth
          type: string
          description: Post-click attribution window setting.
          nullable: true
        viewAttributionScope:
          enum:
            - SameSku
            - SameSkuCategory
            - SameSkuCategoryBrand
          type: string
          description: >-
            Post-view attribution scope setting. Must not be broader than the
            click attribution scope.
          nullable: true
        viewAttributionWindow:
          enum:
            - None
            - OneDay
            - OneWeek
            - TwoWeeks
            - OneMonth
          type: string
          description: >-
            Post-view attribution window setting. Must not exceed the click
            attribution window.
          nullable: true
      additionalProperties: false
      description: >-
        Attribution settings that may be changed after creation. Omitted
        settings remain unchanged.
    DynamicBudgetUpdateModel:
      required:
        - amount
      type: object
      properties:
        amount:
          type: number
          description: New total the campaign may spend over its flight.
          format: double
        memo:
          type: string
          description: >-
            Note for the budget change, up to 250-chars string. Omit to keep the
            stored one, empty clears it.
          nullable: true
      additionalProperties: false
      description: "New financial intent of a campaign. An amount only: the platform derives the periods and\r\npacing from the objective. Omit the node to leave the budget unchanged."
    StringNillableV2:
      type: object
      properties:
        value:
          type: string
          nullable: true
      additionalProperties: false
      description: >-
        A wrapper around an optional text value in an update payload. Omit the
        property to leave the current value unchanged, or send a null value to
        clear it.
    ScheduleDetailsUpdateModel:
      required:
        - endDate
        - startDate
      type: object
      properties:
        endDate:
          type: string
          description: "New campaign end date. Pass exactly {9999-12-30T00:00:00Z} to make a SponsoredProducts\r\ncampaign run indefinitely; any other value is a real end date. An OnsiteDisplay Auction\r\ncampaign cannot run indefinitely and rejects that date."
          format: date-time
        startDate:
          type: string
          description: New campaign start date.
          format: date-time
      additionalProperties: false
      description: "New flight dates for a campaign that owns them: a SponsoredProducts or OnsiteDisplay Auction\r\ncampaign. Omit the whole node to leave the schedule unchanged; when present, both dates are\r\nrequired together. Any other OnsiteDisplay campaign derives its dates from its line items and\r\nrejects this node."
    AttributionSettingsModel:
      type: object
      properties:
        clickAttributionScope:
          enum:
            - SameSku
            - SameSkuCategory
            - SameSkuCategoryBrand
            - Unknown
          type: string
          description: Post-click attribution scope setting.
          nullable: true
        clickAttributionWindow:
          enum:
            - OneWeek
            - TwoWeeks
            - OneMonth
            - Unknown
          type: string
          description: Post-click attribution window setting.
          nullable: true
        viewAttributionScope:
          enum:
            - SameSku
            - SameSkuCategory
            - SameSkuCategoryBrand
            - Unknown
          type: string
          description: Post-view attribution scope setting.
          nullable: true
        viewAttributionWindow:
          enum:
            - None
            - OneDay
            - OneWeek
            - TwoWeeks
            - OneMonth
            - Unknown
          type: string
          description: Post-view attribution window setting.
          nullable: true
      additionalProperties: false
      description: Wrapper for attribution settings.
      nullable: true
    CampaignBudgetModel:
      type: object
      properties:
        amount:
          type: number
          description: >-
            Total the campaign may spend over its flight. Null when the campaign
            is uncapped.
          format: double
          nullable: true
        cappings:
          type: array
          items:
            $ref: '#/components/schemas/BudgetCappingModel'
          description: Per-period ceilings. Only capped periods are reported.
          nullable: true
        memo:
          type: string
          description: Note recorded with the latest budget change.
          nullable: true
        pacing:
          $ref: '#/components/schemas/PacingModel'
        remaining:
          type: number
          description: Amount left under the cap. Null when the campaign is uncapped.
          format: double
          nullable: true
        spent:
          type: number
          description: Amount spent so far.
          format: double
          nullable: true
      additionalProperties: false
      description: Financial intent of a campaign.
      nullable: true
    ScheduleDetailsModel:
      type: object
      properties:
        endDate:
          type: string
          description: "Campaign end date. A SponsoredProducts campaign that runs indefinitely reports\r\n{9999-12-30T00:00:00Z}. An OnsiteDisplay campaign reports a real end date, and omits\r\nit when neither the campaign nor its line items carry one."
          format: date-time
          nullable: true
        startDate:
          type: string
          description: Campaign start date. Defaults to the creation timestamp.
          format: date-time
          nullable: true
      additionalProperties: false
      description: "Flight dates of the campaign. A SponsoredProducts campaign and an OnsiteDisplay Auction\r\ncampaign report the dates they hold themselves; any other OnsiteDisplay campaign reports the\r\ndates derived from its line items, which it cannot set through this API. A SponsoredProducts\r\ncampaign that runs indefinitely reports the documented indefinite end date rather than\r\nomitting it."
      nullable: true
    BudgetCappingModel:
      type: object
      properties:
        amount:
          type: number
          description: Ceiling for the period.
          format: double
          nullable: true
        type:
          enum:
            - Unknown
            - Daily
            - Monthly
          type: string
          description: Period the ceiling applies to.
          nullable: true
      additionalProperties: false
      description: A ceiling on what a campaign may spend within one period.
    PacingModel:
      type: object
      properties:
        type:
          enum:
            - None
            - Automatic
            - Unknown
          type: string
          description: How the platform spreads a campaign budget over its flight.
          nullable: true
      additionalProperties: false
      description: How the platform spreads the campaign budget over its flight.
      nullable: true
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes:
            RetailMedia_Accounts_Read: >-
              Grants Read access to the capabilities from the Accounts domain,
              for RetailMedia applications
            RetailMedia_Analytics_Read: >-
              Grants Read access to the capabilities from the Analytics domain,
              for RetailMedia applications
            RetailMedia_Audience_Manage: >-
              Grants Manage access to the capabilities from the Audience domain,
              for RetailMedia applications
            RetailMedia_Balance_Read: >-
              Grants Read access to the capabilities from the Balance domain,
              for RetailMedia applications
            RetailMedia_Campaign_Manage: >-
              Grants Manage access to the capabilities from the Campaign domain,
              for RetailMedia applications
            RetailMedia_Campaign_Read: >-
              Grants Read access to the capabilities from the Campaign domain,
              for RetailMedia applications
            RetailMedia_Catalog_Manage: >-
              Grants Manage access to the capabilities from the Catalog domain,
              for RetailMedia applications
            RetailMedia_Catalog_Read: >-
              Grants Read access to the capabilities from the Catalog domain,
              for RetailMedia applications
            RetailMedia_OnSiteRecommendation_Read: >-
              Grants Read access to the capabilities from the
              OnSiteRecommendation domain, for RetailMedia applications
            RetailMedia_ThirdPartyAccounts_Manage: >-
              Grants Manage access to the capabilities from the
              ThirdPartyAccounts domain, for RetailMedia applications
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes:
            RetailMedia_Accounts_Read: >-
              Grants Read access to the capabilities from the Accounts domain,
              for RetailMedia applications
            RetailMedia_Analytics_Read: >-
              Grants Read access to the capabilities from the Analytics domain,
              for RetailMedia applications
            RetailMedia_Audience_Manage: >-
              Grants Manage access to the capabilities from the Audience domain,
              for RetailMedia applications
            RetailMedia_Balance_Read: >-
              Grants Read access to the capabilities from the Balance domain,
              for RetailMedia applications
            RetailMedia_Campaign_Manage: >-
              Grants Manage access to the capabilities from the Campaign domain,
              for RetailMedia applications
            RetailMedia_Campaign_Read: >-
              Grants Read access to the capabilities from the Campaign domain,
              for RetailMedia applications
            RetailMedia_Catalog_Manage: >-
              Grants Manage access to the capabilities from the Catalog domain,
              for RetailMedia applications
            RetailMedia_Catalog_Read: >-
              Grants Read access to the capabilities from the Catalog domain,
              for RetailMedia applications
            RetailMedia_OnSiteRecommendation_Read: >-
              Grants Read access to the capabilities from the
              OnSiteRecommendation domain, for RetailMedia applications
            RetailMedia_ThirdPartyAccounts_Manage: >-
              Grants Manage access to the capabilities from the
              ThirdPartyAccounts domain, for RetailMedia applications

````