> ## 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.

# /preview/marketing-solutions/ad-sets

> Patch a list of AdSets.



## OpenAPI

````yaml https://api.criteo.com/preview/marketingsolutions/open-api-specifications.json patch /preview/marketing-solutions/ad-sets
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - MarketingSolutions
  version: Preview
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Advertiser
  - name: Analytics
  - name: Audience
  - name: Campaign
  - name: Catalog
  - name: Creative
  - name: Gateway
  - name: OnSiteRecommendation
  - name: Reco
paths:
  /preview/marketing-solutions/ad-sets:
    patch:
      tags:
        - Campaign
      summary: /preview/marketing-solutions/ad-sets
      description: Patch a list of AdSets.
      operationId: PatchAdSets
      requestBody:
        description: List of adsets to patch.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestsPatchAdSetV26Q1'
        required: true
        x-bodyName: adSets
      responses:
        '200':
          description: Patched attributes for adSets specified in the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsesAdSetIdV26Q1'
      security:
        - oauth:
            - MarketingSolutions_Campaign_Manage
components:
  schemas:
    RequestsPatchAdSetV26Q1:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WriteModelPatchAdSetV26Q1'
          nullable: true
      description: List of input resources
    ResponsesAdSetIdV26Q1:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ReadModelAdSetIdV26Q1'
          nullable: true
          readOnly: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/CommonProblem'
          nullable: true
          readOnly: true
      description: List of output resources
    WriteModelPatchAdSetV26Q1:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/PatchAdSetV26Q1'
        id:
          type: string
          description: Id of the entity
          nullable: true
        type:
          type: string
          description: Canonical type name of the entity
          nullable: true
          example: PatchAdSetV26Q1
      description: write model data for resources
    ReadModelAdSetIdV26Q1:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/AdSetIdV26Q1'
        id:
          type: string
          description: Id of the entity
          nullable: true
          readOnly: true
        type:
          type: string
          nullable: true
          readOnly: true
          example: AdSetIdV26Q1
      description: read model data for resources
    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.
    PatchAdSetV26Q1:
      type: object
      properties:
        attributionConfiguration:
          $ref: '#/components/schemas/PatchAdSetAttributionConfigurationV26Q1'
        bidding:
          $ref: '#/components/schemas/PatchAdSetBiddingV26Q1'
        budget:
          $ref: '#/components/schemas/PatchAdSetBudgetV26Q1'
        name:
          type: string
          description: Name of the ad set.
          nullable: true
        scheduling:
          $ref: '#/components/schemas/PatchAdSetSchedulingV26Q1'
        targeting:
          $ref: '#/components/schemas/AdSetTargetingV26Q1'
      description: Model for patching an ad set.
    AdSetIdV26Q1:
      type: object
      description: ad set id model
      nullable: true
    PatchAdSetAttributionConfigurationV26Q1:
      type: object
      properties:
        attributionMethod:
          enum:
            - unknown
            - criteoAttribution
            - googleAnalyticsLastClick
            - googleAnalyticsDataDriven
            - lastClick
            - postClick
            - sftp
            - googleAnalytics
          type: string
          description: The attribution method.
          nullable: true
        lookbackWindow:
          enum:
            - unknown
            - 30M
            - 24H
            - 7D
            - 30D
          type: string
          description: >-
            The lookback window. Optional, should be specified only for
            attribution methods PostClick and LastClick.
          nullable: true
      description: Patch model for an ad set's attribution configuration.
    PatchAdSetBiddingV26Q1:
      type: object
      properties:
        bidAmount:
          $ref: '#/components/schemas/NillableDecimal'
      description: Ad set bidding patch model
    PatchAdSetBudgetV26Q1:
      type: object
      properties:
        budgetAmount:
          $ref: '#/components/schemas/NillableDecimal'
        budgetDeliverySmoothing:
          enum:
            - accelerated
            - standard
          type: string
          description: "Pacing strategy for spending the budget within a renewal period. Only applicable when budgetStrategy is \"capped\".\r\n- \"accelerated\": spend pacing is based on delivery efficiency rather than the full budget period.\r\n- \"standard\": spread spending evenly over the renewal period.\r\nWhen budgetStrategy is \"uncapped\", this field is not set (null in read responses, omit in create/patch requests)."
          nullable: true
        budgetDeliveryWeek:
          enum:
            - undefined
            - mondayToSunday
            - tuesdayToMonday
            - wednesdayToTuesday
            - thursdayToWednesday
            - fridayToThursday
            - saturdayToFriday
            - sundayToSaturday
          type: string
          description: "Defines which day-of-week boundaries are used for weekly budget renewal. Only applicable when budgetStrategy is \"capped\", budgetRenewal is \"weekly\", and budgetDeliverySmoothing is \"standard\".\r\n- \"mondayToSunday\", \"tuesdayToMonday\", etc.: the day range over which the weekly budget is paced. Changing this value on the active budget also propagates to all scheduled budgets of the same ad set.\r\n- \"undefined\": used when budgetStrategy is \"uncapped\", when budgetRenewal is not \"weekly\", or when budgetDeliverySmoothing is \"accelerated\"."
          nullable: true
        budgetRenewal:
          enum:
            - undefined
            - daily
            - monthly
            - lifetime
            - weekly
          type: string
          description: "The period over which the budget is spent.\r\n- \"daily\", \"monthly\", \"weekly\": budget resets at the start of each period.\r\n- \"lifetime\": budget covers the entire ad set duration without resetting.\r\n- \"undefined\": only used when budgetStrategy is \"uncapped\" (no renewal applies). Required for capped budgets (must not be \"undefined\")."
          nullable: true
        budgetStrategy:
          enum:
            - capped
            - uncapped
          type: string
          description: "Controls whether the ad set has a spending limit.\r\n- \"capped\": spending is limited to budgetAmount. Requires budgetAmount (non-null), budgetRenewal (not \"undefined\"), and budgetDeliverySmoothing (not null).\r\n- \"uncapped\": no spending limit. budgetAmount is null, budgetRenewal is \"undefined\", and budgetDeliverySmoothing is null."
          nullable: true
        pacingBehavior:
          enum:
            - undefined
            - targetFullBudget
            - targetAverageDailyBudget
          type: string
          description: "Controls how a standard capped budget is paced.\r\n- \"targetFullBudget\": spend toward the full budget amount within the renewal period.\r\n- \"targetAverageDailyBudget\": spend toward an average daily amount. Only supported for capped, standard, monthly budgets.\r\n- \"undefined\": no explicit pacing behavior. Required for uncapped budgets and accelerated budgets."
          nullable: true
      description: "Budget patch model for an ad set. Only provided fields are updated; omitted fields are left unchanged.\r\nSwitching to \"uncapped\": set budgetStrategy to \"uncapped\" and budgetAmount.value to null. Other budget fields (budgetRenewal, budgetDeliverySmoothing, budgetDeliveryWeek, and pacingBehavior) are automatically cleared.\r\nSwitching to \"capped\": set budgetStrategy to \"capped\", budgetAmount.value to a positive number, budgetRenewal to a period, and budgetDeliverySmoothing to a pacing strategy.\r\npacingBehavior can only be set for capped budgets using standard delivery smoothing; \"targetAverageDailyBudget\" also requires monthly renewal.\r\nManual budget updates are not supported when the linked marketing campaign has budget automation enabled."
    PatchAdSetSchedulingV26Q1:
      type: object
      properties:
        endDate:
          $ref: '#/components/schemas/NillableDateTime'
        startDate:
          $ref: '#/components/schemas/NillableDateTime'
      description: Model for patching ad set scheduling.
    AdSetTargetingV26Q1:
      type: object
      properties:
        deliveryLimitations:
          $ref: '#/components/schemas/AdSetDeliveryLimitationsV26Q1'
        frequencyCapping:
          type: object
          properties:
            value:
              $ref: '#/components/schemas/AdSetFrequencyCappingV26Q1'
          nullable: true
        geoLocation:
          $ref: '#/components/schemas/AdSetGeoLocationV26Q1'
      description: ad set targeting model
      nullable: true
    NillableDecimal:
      type: object
      properties:
        value:
          type: number
          format: double
          nullable: true
      description: >-
        structure that encapsulates an object that have valid business null
        values. If the structure is provided (i.e. not null), then the value in
        it, even null, is provided.
      nullable: true
    NillableDateTime:
      type: object
      properties:
        value:
          type: string
          format: date-time
          nullable: true
      description: >-
        structure that encapsulates an object that have valid business null
        values. If the structure is provided (i.e. not null), then the value in
        it, even null, is provided.
      nullable: true
    AdSetDeliveryLimitationsV26Q1:
      type: object
      properties:
        devices:
          type: array
          items:
            enum:
              - other
              - desktop
              - mobile
              - tablet
            type: string
            description: "Targeted device type.\r\n            \r\nPossible values:\r\n- other\r\n- desktop\r\n- mobile\r\n- tablet"
          description: "List of devices which the ad set should target.\r\n            \r\nNo limitation if the list is empty."
          nullable: true
        environments:
          type: array
          items:
            enum:
              - web
              - inApp
            type: string
            description: "Targeted environment type.\r\n            \r\nNote: this is very different from AdSetDestinationEnvironment: this parameter defines a delivery limitation,\r\nnot an impression's destination.\r\n            \r\nPossible values:\r\n- web\r\n- inApp"
          description: "List of environments which the ad set should target.\r\n            \r\nNo limitation if the list is empty."
          nullable: true
        operatingSystems:
          type: array
          items:
            enum:
              - android
              - ios
              - unknown
            type: string
            description: "Targeted operating system.\r\n            \r\nPossible values:\r\n- android\r\n- ios\r\n- unknown"
          description: "List of operating systems which the ad set should target.\r\n            \r\nNo limitation if the list is empty."
          nullable: true
      description: Delivery limitations for an ad set.
      nullable: true
    AdSetFrequencyCappingV26Q1:
      type: object
      properties:
        frequency:
          enum:
            - hourly
            - daily
            - lifetime
            - advanced
          type: string
          description: "Period on which impression limitation is calculated.\r\n            \r\nPossible values:\r\n- hourly\r\n- daily\r\n- lifetime\r\n- advanced"
          nullable: true
        maximumImpressions:
          type: integer
          description: Maximum impressions for the specified period.
          format: int32
          nullable: true
      description: "Ad set frequency capping.\r\n            \r\nSettings that can limit the number of impression by viewer and by period."
      nullable: true
    AdSetGeoLocationV26Q1:
      type: object
      properties:
        countries:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV26Q1'
        subdivisions:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV26Q1'
        zipCodes:
          $ref: '#/components/schemas/NillableAdSetTargetingRuleV26Q1'
      description: Ad set geolocation options.
      nullable: true
    NillableAdSetTargetingRuleV26Q1:
      type: object
      properties:
        value:
          type: object
          allOf:
            - $ref: '#/components/schemas/AdSetTargetingRuleV26Q1'
          nullable: true
      description: >-
        structure that encapsulates an object that have valid business null
        values. If the structure is provided (i.e. not null), then the value in
        it, even null, is provided.
      nullable: true
    AdSetTargetingRuleV26Q1:
      type: object
      properties:
        operand:
          enum:
            - undefined
            - in
            - notIn
          type: string
        values:
          type: array
          items:
            type: string
          nullable: true
      description: ad set targeting rule model
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}

````