# Create a Strategy Create a strategy Endpoint: POST /strategies Version: xx.xx.xx Security: Auth0 ## Query parameters: - `extended` (boolean) Get extended properties in response ## Request fields (application/json): - `campaign_id` (integer, required) - `name` (string, required) - `media_type` (string, required) Enum: "DISPLAY", "VIDEO" - `goals` (object, required) - `goals.goal_type` (string) Enum: "spend", "reach", "cpc", "cpe", "cpa", "roi", "ctr", "vcr", "viewability_rate", "vcpm", "cpcv" - `goals.goal_value` (number, required) - `goals.min_bid` (number) - `goals.max_bid` (number) - `goals.roi_target` (number,null) - `goals.bid_min_devices` (integer,null) - `goals.bid_aggressiveness` (integer) - `goals.bid_price_is_media_only` (boolean) - `goals.max_bid_wm` (number,null) - `goals.use_bid_shading` (boolean) - `goals.flat_rate_cpm` (number,null) - `duration` (object, required) Duration of strategy must not exceed 36 months - `duration.use_campaign_start` (boolean) - `duration.use_campaign_end` (boolean) - `duration.start_date` (string,null) - `duration.end_date` (string,null) - `description` (string) - `status` (boolean) - `archived` (boolean) - `is_programmatic_guaranteed` (boolean) - `use_optimization` (boolean) - `ads_txt_verified` (string,null) Enum: "ANY", "AUTHORIZED_ONLY", "AUTHORIZED_DIRECT_ONLY", "NONE", "" - `type` (string) Enum: "REM", "GBO", "AUD" - `feature_compatibility` (string,null) - `device_graph_only` (boolean) - `mfa_avoidance` (string) Enum: "INHERIT", "ALLOW_ALL", "EXCLUDE_MFA" - `inherited_mfa_avoidance` (string) Enum: "INHERIT", "ALLOW_ALL", "EXCLUDE_MFA" - `inherited_mfa_from` (string) Enum: "Organization", "Agency", "Advertiser", "Campaign", "Strategy" - `id` (integer) - `version` (integer) - `budget` (object) - `budget.budget` (number,null) Must be a valid float between 1 and 10000000 USD or its equivalent in other currency. - `budget.currency_code` (string) - `budget.margin_pct` (number,null) - `pacing` (object) - `pacing.impression_pacing_type` (string) Enum: "even", "asap", "no-limit" - `pacing.impression_pacing_amount` (integer,null) - `pacing.impression_pacing_interval` (string) Enum: "hour", "day" - `pacing.pacing_type` (string) Enum: "even", "asap" - `pacing.pacing_amount` (number,null) - `pacing.pacing_interval` (string) Enum: "hour", "day" - `pacing.pacing_optimization_type` (string) Enum: "monetary", "impression" - `pacing.pacing_optimization_amount` (number,null) - `pacing.use_dba_strategy_pacing` (string) Enum: "always", "never", "custom" - `pacing.use_dba_strategy_pacing_after_date` (string,null) - `frequency` (object) - `frequency.frequency_type` (string) Enum: "even", "asap", "no-limit", "t1-optimized", "frequency_goal" - `frequency.frequency_interval` (string,null) Enum: "hour", "day", "week", "month", "campaign", "not-applicable" - `frequency.frequency_amount` (integer,null) - `frequency.frequency_optimization` (boolean) - `inventory` (object) - `inventory.supply_type` (string) Enum: "RTB", "RMX_API", "T1_RMX", "MKT", "BATCH" - `inventory.run_on_all_pmp` (boolean, required) - `inventory.run_on_all_exchanges` (boolean, required) default value is false if campaign is programmatic guarantee and is true otherwise - `inventory.site_restriction_transparent_urls` (boolean) - `inventory.domain_restrictions` (object) - `inventory.domain_restrictions.include` (array) - `inventory.domain_restrictions.include.domain` (string, required) Example: "www.mediamath.com" - `inventory.domain_restrictions.include.target_type` (string, required) Enum: "DOMAIN", "APP" - `inventory.domain_restrictions.exclude` (array) - `inventory.site_lists` (array) - `inventory.site_lists.site_list_id` (integer, required) - `inventory.site_lists.assigned` (boolean, required) - `inventory.campaign_site_lists` (array) - `inventory.deals` (array) - `inventory.deals.deal_id` (integer, required) - `inventory.deal_groups` (array) - `inventory.deal_groups.deal_group_id` (integer, required) - `inventory.supply_sources` (array) - `inventory.supply_sources.supply_source_id` (integer, required) - `targeting` (object) - `targeting.fold_position` (array,null) Enum: "ABOVE", "BELOW", "UNCATEGORIZED" - `targeting.audience` (object) - `targeting.contextual` (object) - `targeting.audience_groups` (object) - `targeting.contextual_groups` (object) - `targeting.postal_codes` (object) - `targeting.postal_codes.restriction` (string) Example: "INCLUDE" - `targeting.postal_codes.codes` (array) Example: ["us-14392","us-24981","us-25632","us-16191","us-48574","us14392","us24981","us25632","us16191","us48574","14392","24981","25632","16191","48574"] - `targeting.geofence` (object) - `targeting.my_data` (object) - `targeting.location` (object) - `targeting.technology` (object) - `targeting.ip_addresses` (object) - `targeting.day_parts` (array) - `targeting.day_parts.user_time` (boolean) - `targeting.day_parts.start_hour` (integer, required) Example: 1 - `targeting.day_parts.end_hour` (integer, required) Example: 5 - `targeting.day_parts.days` (array, required) Enum: "M", "T", "W", "R", "F", "S", "U" - `targeting.recency` (array) - `targeting.recency.pixel_id` (integer, required) - `targeting.recency.from_hour` (integer, required) - `targeting.recency.to_hour` (integer, required) - `targeting.language_codes` (array) - `targeting.language_codes.code` (string) - `concepts` (object) - `concepts.weighting` (string) Enum: "NONE", "BUDGET", "IMPRESSION" - `concepts.creative_groups` (array) - `concepts.creative_groups.concept_id` (integer, required) - `concepts.creative_groups.percent` (number, required) Sum of all percents provided inside group must be equal to 100 ## Response 400 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required) ## Response 401 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required) ## Response 403 fields (application/json): - `errors` (array, required) - `errors.code` (string) - `errors.field` (string) Optional when it is a schema error - `errors.message` (string) - `meta` (object, required) - `meta.status` (string, required)