---
title: "Update a Strategy"
method: POST
path: "/strategies/{strategy_id}"
tags: ["Strategies"]
---

# Update a Strategy

`POST /strategies/{strategy_id}`

## Request

- Base URL: `https://api.mediamath.com/api/v3.0`
- URL: `https://api.mediamath.com/api/v3.0/strategies/{strategy_id}`
- Auth: OAuth 2
  - Authorization code: `https://auth.mediamath.com/authorize`
  - Token URL: `https://auth.mediamath.com/oauth/token` scopes: `offline_access`, `manage:services`
- TypeScript: <https://skmtc.dev/mediamath/apis/campaigns-api/docs/strategies/:strategy_id/post.ts> (a function with typed inputs; its response is checked against the schema)

Update a strategy by ID.
If your use case requires more than 100,000 IPs or postal codes, please contact your MediaMath representative to discuss custom solutions or alternative approaches.

## Path parameters

- `strategy_id` integer, required

## Query parameters

- `extended` boolean

## Request body

- object
  - `name` string
  - `description` string
  - `status` boolean
  - `archived` boolean
  - `is_programmatic_guaranteed` boolean
  - `media_type` 'DISPLAY' | 'VIDEO'
  - `use_optimization` boolean
  - `ads_txt_verified` 'ANY' | 'AUTHORIZED_ONLY' | 'AUTHORIZED_DIRECT_ONLY' | 'NONE', nullable
  - `type` 'REM' | 'GBO' | 'AUD'
  - `feature_compatibility` string, nullable
  - `device_graph_only` boolean
  - `mfa_avoidance` 'INHERIT' | 'ALLOW_ALL' | 'EXCLUDE_MFA'
  - `zone_name` string
  - `created_on` string, date-time
  - `updated_on` string, date-time
  - `duration` StrategyDuration: Duration of strategy must not exceed 36 months
    - `use_campaign_start` boolean
    - `use_campaign_end` boolean
    - `start_date` string, date-time, nullable
    - `end_date` string, date-time, nullable
  - `budget` StrategyBudget
    - `budget` number, float, nullable: Must be a valid float between 1 and 10000000 USD or its equivalent in other currency.
    - `currency_code` string
    - `margin_pct` number, float, nullable
  - `frequency` StrategyFrequency
    - `frequency_type` 'even' | 'asap' | 'no-limit' | 't1-optimized' | 'frequency_goal'
    - `frequency_interval` 'hour' | 'day' | 'week' | 'month' | 'not-applicable', nullable
    - `frequency_amount` integer, nullable
    - `frequency_optimization` boolean
  - `concepts` StrategyConcepts
    - `weighting` 'NONE' | 'BUDGET' | 'IMPRESSION'
    - `creative_groups` object[]
      - `concept_id` integer, required
      - `percent` number, float, required: Sum of all percents provided inside group must be equal to 100
  - `groups` string[], nullable
  - `strategy_group_id` integer, nullable: ID of the strategy group this strategy belongs to (one-to-one). Must reference a strategy_groups row whose campaign_id matches this strategy's campaign_id. Pass null to clear the assignment.
  - `entity_type` string
  - `version` integer
  - `goals` StrategyGoals
    - `goal_type` 'spend' | 'reach' | 'cpc' | 'cpe' | 'cpa' | 'roi' | 'ctr' | 'vcr' | 'viewability_rate' | 'vcpm'
    - `goal_value` number, float
    - `min_bid` number, float
    - `max_bid` number, float
    - `roi_target` number, double, nullable
    - `bid_min_devices` integer, nullable
    - `bid_aggressiveness` integer
    - `bid_price_is_media_only` boolean
    - `max_bid_wm` number, float, nullable
    - `use_bid_shading` boolean
    - `flat_rate_cpm` number, float, nullable: This field is only available to certain organizations. For organizations without access it is omitted from responses and cannot be set on create or update.
  - `pacing` StrategyPacing
    - `impression_pacing_type` 'even' | 'asap' | 'no-limit'
    - `impression_pacing_amount` integer, nullable
    - `impression_pacing_interval` 'hour' | 'day'
    - `pacing_type` 'even' | 'asap'
    - `pacing_amount` number, float
    - `pacing_interval` 'hour' | 'day'
    - `pacing_optimization_type` 'monetary' | 'impression'
    - `pacing_optimization_amount` number, float, nullable
    - `use_dba_strategy_pacing` 'always' | 'never' | 'custom'
    - `use_dba_strategy_pacing_after_date` string, date, nullable
  - `inventory` StrategyInventory
    - `supply_type` 'RTB' | 'RMX_API' | 'T1_RMX' | 'MKT' | 'BATCH'
    - `run_on_all_pmp` boolean
    - `run_on_all_exchanges` boolean: default value is false if campaign is programmatic guarantee and is true otherwise
    - `site_restriction_transparent_urls` boolean
    - `domain_restrictions` object
      - `include` DomainRestriction[]
        - `domain` string, required
        - `target_type` 'DOMAIN' | 'APP', required
      - `exclude` DomainRestriction[]
        - `domain` string, required
        - `target_type` 'DOMAIN' | 'APP', required
    - `site_lists` SiteList[]
      - `site_list_id` integer, required
      - `assigned` boolean, required
    - `campaign_site_lists` SiteList[]
      - `site_list_id` integer, required
      - `assigned` boolean, required
    - `deals` Deal[]
      - `deal_id` integer, required
    - `deal_groups` DealGroup[]
      - `deal_group_id` integer, required
    - `supply_sources` SupplySource[]
      - `supply_source_id` integer, required
  - `targeting` object
    - `fold_position` string[], nullable
    - `audience` object
      - `include` object[]
        - `operator` 'AND' | 'OR'
        - `segments` StrategyAudienceSegment[]
          - `audience_segment_id` integer, required
          - `user_cpm` number, float, nullable: user_cpm is stored in the currency of the campaign and will not fluctuate with daily exchange rates.
      - `exclude` object
        - `operator` 'AND' | 'OR'
        - `segments` StrategyAudienceSegment[]
          - `audience_segment_id` integer, required
          - `user_cpm` number, float, nullable: user_cpm is stored in the currency of the campaign and will not fluctuate with daily exchange rates.
    - `contextual` object
      - `include` object[]
        - `code` string
        - `operator` 'AND' | 'OR'
        - `segments` StrategyContextualSegment[]
          - `targeting_segment_id` integer, required
          - `user_cpm` number, float, nullable: user_cpm is stored in the currency of the campaign and will not fluctuate with daily exchange rates.
      - `exclude` object
        - `code` string
        - `operator` 'AND' | 'OR'
        - `segments` StrategyContextualSegment[], required
          - `targeting_segment_id` integer, required
          - `user_cpm` number, float, nullable: user_cpm is stored in the currency of the campaign and will not fluctuate with daily exchange rates.
    - `audience_groups` object
      - `include` StrategySegmentGroup[]
        - `operator` 'AND', required
        - `segment_groups` object[], required
          - `segment_group_id` integer
      - `exclude` object
    - `contextual_groups` object
      - `include` StrategySegmentGroup[]
        - `operator` 'AND', required
        - `segment_groups` object[], required
          - `segment_group_id` integer
      - `exclude` object
    - `geofence` object
      - `include` StrategyGeofence
        - `operator` 'AND' | 'OR'
        - `segments` object[]
          - `geofence_segment_id` integer
          - `geofence_segment_factual_id` string
          - `place_list_id` integer
      - `exclude` StrategyGeofence
        - `operator` 'AND' | 'OR'
        - `segments` object[]
          - `geofence_segment_id` integer
          - `geofence_segment_factual_id` string
          - `place_list_id` integer
    - `my_data` object
      - `include` StrategyMyData
        - `operator` 'AND' | 'OR'
        - `pixels` object[], required
          - `pixel_id` integer, required
      - `exclude` StrategyMyData
        - `operator` 'AND' | 'OR'
        - `pixels` object[], required
          - `pixel_id` integer, required
    - `location` object
      - `include` StrategyLocation[]
        - `operator` 'AND' | 'OR'
        - `target_value_id` integer, required
        - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY', required
      - `exclude` StrategyLocation[]
        - `operator` 'AND' | 'OR'
        - `target_value_id` integer, required
        - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY', required
    - `technology` object
      - `include` StrategyTechnology[]
        - `operator` 'AND' | 'OR'
        - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
        - `target_value_id` integer, required
      - `exclude` StrategyTechnology[]
        - `operator` 'AND' | 'OR'
        - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
        - `target_value_id` integer, required
    - `day_parts` DayPart[]
      - `user_time` boolean: Defaults to true. true evaluates the hours in the user's local time; false evaluates them in EST.
      - `start_hour` integer, required: Inclusive start hour, from 0 through 23. 10 means the window starts at 10:00.
      - `end_hour` integer, required: Inclusive end hour, from 0 through 23. 10 means the last hour included is 10:00-10:59, so the window ends at 10:59.
      - `days` string[], required: Days of the week as single-letter codes. M Monday, T Tuesday, W Wednesday, R Thursday, F Friday, S Saturday, U Sunday.
    - `language_codes` string[]
    - `ip_addresses` TargetingIpAddresses
      - `restriction` 'INCLUDE' | 'EXCLUDE' | ''
      - `codes` string[]
    - `postal_codes` TargetingPostalCodes
      - `restriction` string
      - `codes` string[]
    - `recency` TargetingRecencyElementRequest[]
      - `pixel_id` integer, required
      - `from_hour` integer, required
      - `to_hour` integer, required

## Response `200`

Strategy updated response

- union
  - Strategy
    - `data` object
      - `inherited_mfa_avoidance` 'INHERIT' | 'ALLOW_ALL' | 'EXCLUDE_MFA': available if mfa_avoidance = INHERIT
      - `inherited_mfa_from` 'Organization' | 'Agency' | 'Advertiser' | 'Campaign' | 'Strategy': available if mfa_avoidance = INHERIT
      - `campaign_name` string
      - `campaign_start_date` string, date-time
      - `campaign_end_date` string, date-time
      - `campaign_zone_name` string
      - `campaign_service_type` string
      - `campaign_goal_type` string
      - `campaign_goal_value` number, float
      - `campaign_merit_pixel_id` integer, nullable
      - `viewability` object
        - `sample_rate` number, float
        - `type` string
        - `vendor_id` integer
      - `name` string
      - `description` string
      - `status` boolean
      - `archived` boolean
      - `is_programmatic_guaranteed` boolean
      - `media_type` 'DISPLAY' | 'VIDEO'
      - `use_optimization` boolean
      - `ads_txt_verified` 'ANY' | 'AUTHORIZED_ONLY' | 'AUTHORIZED_DIRECT_ONLY' | 'NONE', nullable
      - `type` 'REM' | 'GBO' | 'AUD'
      - `feature_compatibility` string, nullable
      - `device_graph_only` boolean
      - `mfa_avoidance` 'INHERIT' | 'ALLOW_ALL' | 'EXCLUDE_MFA'
      - `zone_name` string
      - `created_on` string, date-time
      - `updated_on` string, date-time
      - `duration` StrategyDuration: Duration of strategy must not exceed 36 months
        - `use_campaign_start` boolean
        - `use_campaign_end` boolean
        - `start_date` string, date-time, nullable
        - `end_date` string, date-time, nullable
      - `budget` StrategyBudget
        - `budget` number, float, nullable: Must be a valid float between 1 and 10000000 USD or its equivalent in other currency.
        - `currency_code` string
        - `margin_pct` number, float, nullable
      - `frequency` StrategyFrequency
        - `frequency_type` 'even' | 'asap' | 'no-limit' | 't1-optimized' | 'frequency_goal'
        - `frequency_interval` 'hour' | 'day' | 'week' | 'month' | 'not-applicable', nullable
        - `frequency_amount` integer, nullable
        - `frequency_optimization` boolean
      - `concepts` StrategyConcepts
        - `weighting` 'NONE' | 'BUDGET' | 'IMPRESSION'
        - `creative_groups` object[]
          - `concept_id` integer, required
          - `percent` number, float, required: Sum of all percents provided inside group must be equal to 100
      - `groups` string[], nullable
      - `strategy_group_id` integer, nullable: ID of the strategy group this strategy belongs to (one-to-one). Must reference a strategy_groups row whose campaign_id matches this strategy's campaign_id. Pass null to clear the assignment.
      - `entity_type` string
      - `version` integer
      - `goals` StrategyGoals
        - `goal_type` 'spend' | 'reach' | 'cpc' | 'cpe' | 'cpa' | 'roi' | 'ctr' | 'vcr' | 'viewability_rate' | 'vcpm'
        - `goal_value` number, float
        - `min_bid` number, float
        - `max_bid` number, float
        - `roi_target` number, double, nullable
        - `bid_min_devices` integer, nullable
        - `bid_aggressiveness` integer
        - `bid_price_is_media_only` boolean
        - `max_bid_wm` number, float, nullable
        - `use_bid_shading` boolean
        - `flat_rate_cpm` number, float, nullable: This field is only available to certain organizations. For organizations without access it is omitted from responses and cannot be set on create or update.
      - `pacing` StrategyPacing
        - `impression_pacing_type` 'even' | 'asap' | 'no-limit'
        - `impression_pacing_amount` integer, nullable
        - `impression_pacing_interval` 'hour' | 'day'
        - `pacing_type` 'even' | 'asap'
        - `pacing_amount` number, float
        - `pacing_interval` 'hour' | 'day'
        - `pacing_optimization_type` 'monetary' | 'impression'
        - `pacing_optimization_amount` number, float, nullable
        - `use_dba_strategy_pacing` 'always' | 'never' | 'custom'
        - `use_dba_strategy_pacing_after_date` string, date, nullable
      - `inventory` StrategyInventory
        - `supply_type` 'RTB' | 'RMX_API' | 'T1_RMX' | 'MKT' | 'BATCH'
        - `run_on_all_pmp` boolean
        - `run_on_all_exchanges` boolean: default value is false if campaign is programmatic guarantee and is true otherwise
        - `site_restriction_transparent_urls` boolean
        - `domain_restrictions` object
          - `include` DomainRestriction[]
            - `domain` string, required
            - `target_type` 'DOMAIN' | 'APP', required
          - `exclude` DomainRestriction[]
            - `domain` string, required
            - `target_type` 'DOMAIN' | 'APP', required
        - `site_lists` SiteList[]
          - `site_list_id` integer, required
          - `assigned` boolean, required
        - `campaign_site_lists` SiteList[]
          - `site_list_id` integer, required
          - `assigned` boolean, required
        - `deals` Deal[]
          - `deal_id` integer, required
        - `deal_groups` DealGroup[]
          - `deal_group_id` integer, required
        - `supply_sources` SupplySource[]
          - `supply_source_id` integer, required
      - `id` integer
      - `campaign_id` integer
      - `targeting` object
        - `fold_position` string[], nullable
        - `audience` object
          - `include` object[]
            - `operator` 'AND' | 'OR'
            - `segments` StrategyAudienceSegment[]
              - …
          - `exclude` object
            - `operator` 'AND' | 'OR'
            - `segments` StrategyAudienceSegment[]
              - …
        - `contextual` object
          - `include` object[]
            - `code` string
            - `operator` 'AND' | 'OR'
            - `segments` StrategyContextualSegment[]
              - …
          - `exclude` object
            - `code` string
            - `operator` 'AND' | 'OR'
            - `segments` StrategyContextualSegment[], required
              - …
        - `audience_groups` object
          - `include` StrategySegmentGroup[]
            - `operator` 'AND', required
            - `segment_groups` object[], required
              - …
          - `exclude` object
        - `contextual_groups` object
          - `include` StrategySegmentGroup[]
            - `operator` 'AND', required
            - `segment_groups` object[], required
              - …
          - `exclude` object
        - `geofence` object
          - `include` StrategyGeofence
            - `operator` 'AND' | 'OR'
            - `segments` object[]
              - …
          - `exclude` StrategyGeofence
            - `operator` 'AND' | 'OR'
            - `segments` object[]
              - …
        - `my_data` object
          - `include` StrategyMyData
            - `operator` 'AND' | 'OR'
            - `pixels` object[], required
              - …
          - `exclude` StrategyMyData
            - `operator` 'AND' | 'OR'
            - `pixels` object[], required
              - …
        - `location` object
          - `include` StrategyLocation[]
            - `operator` 'AND' | 'OR'
            - `target_value_id` integer, required
            - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY', required
          - `exclude` StrategyLocation[]
            - `operator` 'AND' | 'OR'
            - `target_value_id` integer, required
            - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY', required
        - `technology` object
          - `include` StrategyTechnology[]
            - `operator` 'AND' | 'OR'
            - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
            - `target_value_id` integer, required
          - `exclude` StrategyTechnology[]
            - `operator` 'AND' | 'OR'
            - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
            - `target_value_id` integer, required
        - `day_parts` DayPart[]
          - `user_time` boolean: Defaults to true. true evaluates the hours in the user's local time; false evaluates them in EST.
          - `start_hour` integer, required: Inclusive start hour, from 0 through 23. 10 means the window starts at 10:00.
          - `end_hour` integer, required: Inclusive end hour, from 0 through 23. 10 means the last hour included is 10:00-10:59, so the window ends at 10:59.
          - `days` string[], required: Days of the week as single-letter codes. M Monday, T Tuesday, W Wednesday, R Thursday, F Friday, S Saturday, U Sunday.
        - `language_codes` object[]
          - `code` string
          - `name` string
        - `ip_addresses` TargetingIpAddressesResponse
          - `restriction` 'INCLUDE' | 'EXCLUDE' | ''
          - `count` integer
        - `postal_codes` TargetingPostalCodesResponse
          - `restriction` string
          - `count` integer
        - `recency` TargetingRecencyElementResponse[]
          - `pixel_id` integer
          - `from_hour` integer
          - `to_hour` integer
    - `meta` SingleMetadata
      - `status` string, required
  - StrategyExtended
    - `data` object
      - `inherited_mfa_avoidance` 'INHERIT' | 'ALLOW_ALL' | 'EXCLUDE_MFA'
      - `inherited_mfa_from` 'Organization' | 'Agency' | 'Advertiser' | 'Campaign' | 'Strategy'
      - `name` string
      - `description` string
      - `status` boolean
      - `archived` boolean
      - `is_programmatic_guaranteed` boolean
      - `media_type` 'DISPLAY' | 'VIDEO'
      - `use_optimization` boolean
      - `ads_txt_verified` 'ANY' | 'AUTHORIZED_ONLY' | 'AUTHORIZED_DIRECT_ONLY' | 'NONE', nullable
      - `type` 'REM' | 'GBO' | 'AUD'
      - `feature_compatibility` string, nullable
      - `device_graph_only` boolean
      - `mfa_avoidance` 'INHERIT' | 'ALLOW_ALL' | 'EXCLUDE_MFA'
      - `zone_name` string
      - `created_on` string, date-time
      - `updated_on` string, date-time
      - `campaign_name` string
      - `campaign_start_date` string, date-time
      - `campaign_end_date` string, date-time
      - `campaign_zone_name` string
      - `campaign_service_type` string
      - `campaign_goal_type` string
      - `campaign_goal_value` number, float
      - `campaign_merit_pixel_id` integer, nullable
      - `viewability` object
        - `sample_rate` number, float
        - `type` string
        - `vendor_id` integer
      - `id` integer
      - `version` integer
      - `advertiser_id` integer
      - `strategy_group_name` string: Name of the strategy group this strategy belongs to. Available only when extended=true and the strategy is assigned to a strategy group.
      - `duration` StrategyDuration: Duration of strategy must not exceed 36 months
        - `use_campaign_start` boolean
        - `use_campaign_end` boolean
        - `start_date` string, date-time, nullable
        - `end_date` string, date-time, nullable
      - `budget` StrategyBudget
        - `budget` number, float, nullable: Must be a valid float between 1 and 10000000 USD or its equivalent in other currency.
        - `currency_code` string
        - `margin_pct` number, float, nullable
      - `pacing` StrategyPacing
        - `impression_pacing_type` 'even' | 'asap' | 'no-limit'
        - `impression_pacing_amount` integer, nullable
        - `impression_pacing_interval` 'hour' | 'day'
        - `pacing_type` 'even' | 'asap'
        - `pacing_amount` number, float
        - `pacing_interval` 'hour' | 'day'
        - `pacing_optimization_type` 'monetary' | 'impression'
        - `pacing_optimization_amount` number, float, nullable
        - `use_dba_strategy_pacing` 'always' | 'never' | 'custom'
        - `use_dba_strategy_pacing_after_date` string, date, nullable
      - `goals` StrategyGoals
        - `goal_type` 'spend' | 'reach' | 'cpc' | 'cpe' | 'cpa' | 'roi' | 'ctr' | 'vcr' | 'viewability_rate' | 'vcpm'
        - `goal_value` number, float
        - `min_bid` number, float
        - `max_bid` number, float
        - `roi_target` number, double, nullable
        - `bid_min_devices` integer, nullable
        - `bid_aggressiveness` integer
        - `bid_price_is_media_only` boolean
        - `max_bid_wm` number, float, nullable
        - `use_bid_shading` boolean
        - `flat_rate_cpm` number, float, nullable: This field is only available to certain organizations. For organizations without access it is omitted from responses and cannot be set on create or update.
      - `frequency` StrategyFrequency
        - `frequency_type` 'even' | 'asap' | 'no-limit' | 't1-optimized' | 'frequency_goal'
        - `frequency_interval` 'hour' | 'day' | 'week' | 'month' | 'not-applicable', nullable
        - `frequency_amount` integer, nullable
        - `frequency_optimization` boolean
      - `inventory` StrategyInventoryExtended
        - `run_on_all_pmp` boolean, required
        - `run_on_all_exchanges` boolean, required
        - `site_restriction_transparent_urls` boolean
        - `domain_restrictions` object
          - `include` DomainRestriction[]
            - `domain` string, required
            - `target_type` 'DOMAIN' | 'APP', required
          - `exclude` DomainRestriction[]
            - `domain` string, required
            - `target_type` 'DOMAIN' | 'APP', required
        - `site_lists` SiteListExtended[]
          - `site_list_id` integer, required
          - `name` string
          - `status` boolean: available only when extended
          - `restriction` 'INCLUDE' | 'EXCLUDE': available only when extended
          - `sites_count` integer: available only when extended
          - `sites_count_domain` integer: available only when extended
          - `sites_count_app` integer: available only when extended
          - `sites_count_primary_seller_id` integer: available only when extended
          - `content_updated_on` string, date-time: available only when extended
          - `assigned` boolean, required
        - `campaign_site_lists` SiteListExtended[]
          - `site_list_id` integer, required
          - `name` string
          - `status` boolean: available only when extended
          - `restriction` 'INCLUDE' | 'EXCLUDE': available only when extended
          - `sites_count` integer: available only when extended
          - `sites_count_domain` integer: available only when extended
          - `sites_count_app` integer: available only when extended
          - `sites_count_primary_seller_id` integer: available only when extended
          - `content_updated_on` string, date-time: available only when extended
          - `assigned` boolean, required
        - `deals` Deal[]
          - `deal_id` integer, required
        - `deal_groups` DealGroup[]
          - `deal_group_id` integer, required
        - `supply_sources` SupplySourceExtended[]
          - `supply_source_id` integer, required
          - `name` string: available only when extended
          - `rtb_type` 'STANDARD' | 'MARKETPLACE': available only when extended
      - `targeting` StrategyTargetingExtended
        - `fold_position` string[], nullable
        - `audience` object
          - `include` object[]
            - `operator` 'AND' | 'OR'
            - `segments` StrategyAudienceSegmentExtended[]
              - …
          - `exclude` object
            - `segments` StrategyAudienceSegmentExtended[]
              - …
          - `retired` integer[]
        - `contextual` object
          - `include` object[]
            - `operator` 'AND' | 'OR'
            - `segments` StrategyContextualSegmentExtended[]
              - …
          - `exclude` object
            - `segments` StrategyContextualSegmentExtended[], required
              - …
          - `retired` integer[]
        - `audience_groups` object
          - `include` StrategySegmentGroupExtended[]
            - `operator` 'AND'
            - `segment_groups` object[], required
              - …
          - `exclude` object
        - `contextual_groups` object
          - `include` StrategySegmentGroupExtended[]
            - `operator` 'AND'
            - `segment_groups` object[], required
              - …
          - `exclude` object
        - `postal_codes` TargetingPostalCodesResponse
          - `restriction` string
          - `count` integer
        - `geofence` object
          - `include` StrategyGeofenceExtended
            - `operator` 'AND' | 'OR'
            - `segments` object[]
              - …
          - `exclude` StrategyGeofenceExtended
            - `operator` 'AND' | 'OR'
            - `segments` object[]
              - …
        - `my_data` object
          - `include` StrategyMyDataExtended
            - `operator` 'AND' | 'OR'
            - `pixels` object[], required
              - …
          - `exclude` StrategyMyDataExtended
            - `operator` 'AND' | 'OR'
            - `pixels` object[], required
              - …
        - `location` object
          - `include` StrategyLocationExtended[]
            - `target_value_id` integer, required
            - `name` string: available only when extended
            - `full_path` string: available only when extended
            - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY'
            - `provider_code` string: provider/source code from the underlying target value (e.g. "US", "DMA-501"); available only when extended
            - `target_value` integer: available only when extended
          - `exclude` StrategyLocationExtended[]
            - `target_value_id` integer, required
            - `name` string: available only when extended
            - `full_path` string: available only when extended
            - `code` 'DMAX' | 'REGN' | 'CITY' | 'COUNTRY'
            - `provider_code` string: provider/source code from the underlying target value (e.g. "US", "DMA-501"); available only when extended
            - `target_value` integer: available only when extended
        - `technology` object
          - `include` StrategyTechnologyExtended[]
            - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
            - `target_value_id` integer, required
            - `name` string: available only when extended
            - `target_value` integer: available only when extended
          - `exclude` StrategyTechnologyExtended[]
            - `code` 'BSER' | 'CSPD' | 'DVCE' | 'ISPX' | 'OSXX' | 'INVT' | 'VPSZ' | 'VLIN' | 'VCON' | 'VAUD' | 'VSKP' | 'VPLC' | 'DVMD' | 'BRLG' | 'IPTA' | 'HYPL', required
            - `target_value_id` integer, required
            - `name` string: available only when extended
            - `target_value` integer: available only when extended
        - `ip_addresses` TargetingIpAddressesResponse
          - `restriction` 'INCLUDE' | 'EXCLUDE' | ''
          - `count` integer
        - `day_parts` DayPart[]
          - `user_time` boolean: Defaults to true. true evaluates the hours in the user's local time; false evaluates them in EST.
          - `start_hour` integer, required: Inclusive start hour, from 0 through 23. 10 means the window starts at 10:00.
          - `end_hour` integer, required: Inclusive end hour, from 0 through 23. 10 means the last hour included is 10:00-10:59, so the window ends at 10:59.
          - `days` string[], required: Days of the week as single-letter codes. M Monday, T Tuesday, W Wednesday, R Thursday, F Friday, S Saturday, U Sunday.
        - `recency` object[]
          - `pixel_id` integer
          - `from_hour` integer
          - `to_hour` integer, required
        - `language_codes` object[]
          - `code` string
          - `name` string
      - `concepts` StrategyConceptsExtended
        - `weighting` 'NONE' | 'BUDGET' | 'IMPRESSION'
        - `creative_groups` object[]
          - `concept_id` integer, required
          - `percent` number, float, required: Sum of all percents provided inside group must be equal to 100
          - `name` string: available only when extended
          - `status` boolean: available only when extended
          - `created_on` string, date-time, nullable: available only when extended
          - `start_date` string, date-time, nullable: available only when extended
          - `assigned_creatives_count` integer: available only when extended
    - `meta` SingleMetadata
      - `status` string, required

## Other responses

- `400`: Error response
- `401`: Error response
- `403`: Error response
- `404`: Error response
- `409`: Error response

---

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