Placement API v3

Introduction

A placement is a Sale, or a collection of Ad Units that share sales specifications, such as flight dates and content targeting. The placement is where most business rules for a particular sale are configured. Settings configure sales terms and actions execute specific tasks on placements. The MRM product optimizes and analyzes the buying slots for ad placement.

Version 3 of the Placement API allows users to view, create, list, and edit Placements. This version of the API uses validations that were introduced with UIF.

You can use this API to accomplish the following tasks:

  • View placements
  • Create placements
  • List placements
  • Edit placements

Related Documentation

Refer to the following documentation for more information about FreeWheel products and APIs:

Resources

URI(s)

The Placement API v3 identifies two Uniform Resource Identifiers (URIs), a production instance and a staging instance identified in the following table:

Type of URIURI
Productionhttps://api.freewheel.tv/services/v3/placement/[FW_ID].xml?[parameter1]=[query1]&...
Staginghttps://api.stg.freewheel.tv/services/v3/placement/[FW_ID].xml?[parameter1]=[query1]&...

Placement API Attributes

Attributes represent and describe data associated with an object, in this case the Placement object. Attributes are organized in sets. The attribute set determines the fields that are available during data entry, and the values that appear to the client. Use Placement API Attributes in conjunction with Placement API methods to accomplish your ad tech objectives.

Basic Attributes

Basic attributes describe fundamental properties of a placement. These attributes identify the name, ID, insertion order, and other details of the placement.

Function/NodeDescriptionData Type(s)MandatoryCreatable?Updateable?Included in basic GET?MRM or RPMComments
idThe ID of the placementFW_IDNNNYBothNot allowed during placement creation
insertion_order_idThe ID of the parent insertion order which this placement belongs toFW_IDYYNYBothRequired on placement creation only
buy_typeThe buy type ID from the user interface(UI)FW_IDYYYYRPMThis field will be ignored if it is sent for a network that supports MRM only
property_idThe property of the placementFW-IDNYYYRPMProperty is an optional feature that must be turned on by your Program Manager. If you don't have these features turned on and submit these values, we will return an error.
nameThe name of the placementStringNYYYBothIf creating a placement without "name" node, it will set the name as "Untitled Placement" by default. If your network uses Auto-name generation, the API will not auto-generate a name.
statusPlacement's status; Valid values: 'IN_ACTIVE', 'ACTIVE', 'CANCELLED', 'COMPLETED', 'TESTING'EnumNNNYBoth
enable_canoeEnable placement for canoeBooleanNYYYBothIf you send a request without the node, it will be set as "FALSE" by default. Canoe is an optional feature that must be turned on by your Program Manager. If you don't have these features turned on and submit these values, we will return an error.
descriptionThe description of the placementStringNYYYBoth
instructionThe instructions for the placementStringNYYYBoth
placement_typeThe type of placement. Valid values: 'NORMAL', 'MAKE_GOOD', 'PROMO'EnumNYYYBothIf you send a request without the node or the node is empty, it will be set as "NORMAL" by default
adjust_from_balanceAdjust for balance. Valid values: 'DEFERRED_REVENUE', 'UNDER_DELIVERY'EnumNYYYRPMWe will return an error if send a request with the node but without <placement_type>MAKE_GOOD</placement_type>. If you send a request with placement_type but without the node or node is empty, it will be set as "DEFERRED_REVENUE" by default.
external_idThe external ID of the placementStringNYYYMRMThis field will be ignored if it is sent for a RPM network
external_infosThe external IDs for each external systemSetNYYYRPMThis field will be ignored if it is sent for a network that supports MRM only
scheduleSetNYYYBoth
priceSetNYYYBoth
budgetSetNYYYBoth
deliverySetNYYYBoth
overrideSetNYYYBoth
content_targetingSet )NYYYBoth
exclusivitySetNYYYBoth
custom_targetingSetNYYYBoth
daypart_targetingSetNYYYBoth
geography_targetingSetNYYYBoth
ad_productSetNYYYBoth
audience_targetingNormal Set, Advanced SetNYYYBoth
metadataSetNYYYRPM
restrict_delivery_to_campaign_tagsSetNYYYBoth
soft_reserveSetNYYYBoth
industrySet
platform_targetingSetNYYYBoth
alertSetNNNYBoth
upfront_associationSetNYYYBoth
remaining_items SetNYYYBoth

The following attributes are only available for Networks with Sales Proposal enabled:

Function/NodeDescriptionData Type(s)MandatoryCreatable?Updateable?Included in basic GET?MRM or RPMComments
content_bucket_idID of content bucketFW_IDNYYYRPMOnly for networks with Sales Proposal enabled
premiumsSetFW_ID arrayNYYYRPMOnly for networks with Sales Proposal enabled; Array of premium IDs
variant_idVariant IDFW_IDNNNYRPMOnly for networks with Sales Proposal enabled
variant_statusValue in ('PRIMARY', 'ACTIVE', 'LOST')enumNNNYRPMOnly for networks with Sales Proposal enabled
costSetSetNNNYRPMOnly for networks with Sales Proposal enabled
p2plus_priceFloatNNNYRPMOnly for networks with Sales Proposal enabled + (Enable CPX_UI or rating based selling)
p2plus_impressionIntegerNNNYRPMOnly for networks with Sales Proposal enabled + (Enable CPX_UI or rating based selling)
rate_card_priceFloatNNNYRPMOnly for networks with Sales Proposal enabled
billable_event_goalIntegerNNNYRPMOnly for networks with Sales Proposal enabled
placement_template_labelSetFW_ID arrayNNNYRPMOnly for networks with Salels Proposal enabled; Array of placement template label ids

The following example code block shows you how to create basic attributes for a placement.


<placement>
  <insertion_order_id>1000</insertion_order_id>
  <name>my placement</name>
  <description>some description</description>
  <instruction>my instruction</instruction>
  <placement_type>MAKE_GOOD</placement_type>
  <enable_canoe>false</enable_canoe>
  <!-- RPM only attributes start-->
  <buy_type_id>10001</buy_type_id>
  <property_id>10002</property_id>
  <adjust_from_balance>DEFERRED_REVENUE</adjust_from_balance>
  <external_infos>
   <external_info>
    <external_system_id>ID1</external_system_id>
    <external_id>xxx</external_id>
    <primary>true</primary>
   </external_info>
   <external_info>
    <external_system_id>ID2</external_system_id>
    <external_id>xxx</external_id>
    <primary>false</primary>
   </external_info>
  </external_infos>
  <!-- RPM only attributes end-->
  <!-- MRM only attributes start-->
  <external_id>test external id</external_id>
  <!-- MRM only attributes end-->
</placement>

The following example code block shows you how to clear basic attributes for a placement.

Note: Nodes name, buy_type_id, placement_type and enable_canoe cannot be cleared.

<placement>
  <description></description>
  <instruction></instruction>
  <!-- RPM only attributes start-->
  <external_info></external_info>
  <property_id></property_id>
  <adjust_from_balance></adjust_from_balance>
  <!-- RPM only attributes end-->
  <!-- MRM only attributes start-->
  <external_id></external_id>
  <!-- MRM only attributes end-->
</placement>

The following example code block shows you how to get basic attributes for a placement.

<placement>
  <id>100000</id>
  <insertion_order_id>1000</insertion_order_id>
  <name>my placement</name>
  <description>some description</description>
  <placement_type>NORMAL</placement_type>
  <instruction>my instruction</instruction>
  <buy_type_id>10001</buy_type_id>
  <property_id>10000</property_id>
  <enable_canoe>false</enable_canoe>
  <external_infos>
   <external_info>
    <external_system_id>ID1</external_system_id>
    <external_id>xxx</external_id>
    <primary>true</primary>
   </external_info>
   <external_info>
    <external_system_id>ID2</external_system_id>
    <external_id>xxx</external_id>
    <primary>false</primary>
   </external_info>
  </external_infos>
</placement>

External Infos Attributes - Child Attributes of Basic Attributes

External Infos attributes provide external system details.

NameTypeMandatoryDetails
external_system_idFW_IDYThe ID of the external system
external_idStringYThe external ID
external_system_nameStringYThe name of the external system. A GET response will return this field. This field is not required for Create or Update because FreeWheel will use the External System ID to assign an external ID to the correct external system
primaryBooleanNIndicate if the external system is primary.If it is not explicitly set, the system will default to Primary = False

Schedule Attributes - Child Attributes of Basic Attributes

Schedule attributes provide scheduling details.

Note: The schedule data should be grouped under the 'schedule' node. See a list of valid time zones.

The date/time format should follow the ISO 8061 format in local timezone for create requests, update requests and get responses; for example: 2013-09-04T10:59.

Note that ISO 8061 in UTC is not supported.

The system counts time only in minutes; please do not input time in seconds. The start_time will automatically start at the first second of the specified minute. The end_time will count until the last second of the specified minute.

NameTypeMandatoryDetailsNotes
start_timeTimeYTje start time of the placement
ent_timeTimeYThe end time of the placementIf budget=evergreen with ongoing=true, end_time is optional and "Ongoing" by default
time_zoneStringYThe time zone of the placement

Note: The schedule of a placement cannot be cleared via API V3.

Note: Time format of start_time and end_time in the Get response follows ISO 8061 format in local timezone.

Price Attributes - Child Attributes of Basic Attributes

All price data should be grouped under the 'price' node.

Price Attribute Definitions

NameTypeDetailsMandatoryNotes
price_modelEnumValid values: ('ACTUAL_ECPM', 'FLAT_FEE_SPONSORSHIP')Y
flat_fee_amountFloatYValid when price_model = FLAT_FEE_SPONSORSHIP

Note: The Price and Budget Model widget will be set as blank when clearing the price.

Note: When budget is evergreen, FreeWheel returns an empty price node in the response.

Budget Attributes - Child Attributes of Basic Attributes

All budget data should be grouped under the 'budget' node.

NameTypeDetailsMandatoryNotes
budget_modelEnumValid values: 'CURRENCY_TARGET', 'IMPRESSION_TARGET', 'ALL_IMPRESSION', 'SOV', 'SOP', 'SOI', 'EVERGREEN', 'DEMOGRAPHIC_IMPRESSION_TARGET', 'DEMOGRAPHIC_CURRENCY_TARGET', CUSTOM_EVENT_TARGET, CUSTOM_CURRENCY_TARGETYDemographic Impression Target, Demographic Currency Target and Share of Impression (SOI) are optional features that must be turned on by your Program Manager. If you don't have these features turned on and submit these values for the Budget_model, we will return an error.
billable_eventIntegerThe ID of abstract_eventNValid when budget_model = CUSTOM_EVENT_TARGET or CUSTOM_CURRENCY_TARGET
currencyFloatYValid when budget_model = CURRENCY-TARGET
impressionIntegerYValid when budget_model = IMPRESSION_TARGET
over_delivery_valueFloatTo use the network default, the node should be empty in the XMLNValid when budget_model is CURRENCY_TARGET, IMPRESSION_TARGET, DEMOGRAPHIC_IMPRESSION_TARGET or DEMOGRAPHIC_CURRENCY_TARGET. The over delivery value is set as 'network default value' by default. RPM Workflow setting: If the Budget widget is locked in the workflow setting then the over_delivery_value is not editable.
sov_percentageFloatYValid when budget_model = SOV
sop_percentageFloatYValid when budget_model = SOP
soi_percentageFloatYValid when budget_model = SOI
impression_capIntegerNValid when budget_model = ALL_IMPRESSION; Set as 'No Volume Cap' by default
estimated_impression_goalIntegerYfor placements with price = ACTUAL_ECPM in RPM network
ongoingBooleanNValid when budget_model = EVERGREEN; Set as 'False' by default
on_target_impressionsIntegerYValid when budget_model = DEMOGRAPHIC_IMPRESSION_TARGET
gross_impression_capIntegerYValid when budget_model = DEMOGRAPHIC_IMPRESSION_TARGET
on_target_currencyFloatYValid when budget_model = DEMOGRAPHIC_CURRENCY_TARGET
gross_currency_capFloatYValid when budget_model = DEMOGRAPHIC_CURRENCY_TARGET
demographicIntegerThe ID of target demographicYValid when budget_model = DEMOGRAPHIC_IMPRESSION_TARGET/DEMOGRAPHIC_CURRENCY_TARGET; Demographic ID 27, 30 or 31 cannot be targeted individually. If the placement has enabled Nielsen OTT measurement, Demographic ID 27, 30 and 31 can be targeted together with all other demographics for P2+ Target; To see the ID list of valid demographics for Nielsen and comScore, please click here
data_sourceEnumValid values: 'Nielsen', 'comScore'YValid when budget_model = DEMOGRAPHIC_IMPRESSION_TARGET/DEMOGRAPHIC_CURRENCY_TARGET

Note: When budget model is CURRENCY_TARGET, IMPRESSION_TARGET, DEMOGRAPHIC_IMPRESSION_TARGET or DEMOGRAPHIC_CURRENCY_TARGET, and over_delivery_value is the network default value, the over_delivery_value will return blank.

Delivery Attributes - Child Attributes of Basic Attributes

The delivery data should be grouped under the 'delivery' node.

NameTypeDetailsMandatoryNotes
priorityEnumThe priority of the placement; Valid values: 'GUARANTEED', 'PREEMPTIBLE'Y
pacingEnumThe pacing of the placement; Valid values: 'SMOOTH_AS', 'FAST_AS', 'FORECAST_INFORMED_DELIVERY_OPTIMIZATION', 'SMOOTH_OVER_LIFE_BUT_FAST_AS_WITHIN_A_DAY', 'CUSTOM_PACING', 'PRE_DEFINED'YDaily Capped Pacing and Smooth Over Life But Fast As Within A Day are optional features that must be turned on by your Program Manager. If you don't have these features turned on and submit these values for Pacing, we will return an error.
maximum_fido_pacing_rateEnumValid values: ('NETWORK_DEFAULT', 1..10)YValid when pacing = FORECAST_INFORMED_DELIVERY_OPTIMIZATION
pacing_pointSetA set of pacing points, for each pacing point you must have a date and a percentage as described belowYValid when pacing = CUSTOM_PACING; The date format should be follow ISO 8061 format in local timezone for create requests, update requests and get responses. An example: 2013-09-04T10:59. Note that ISO 8061 in UTC is not supported.
frequency_capSetA set of frequency caps for each frequency cap you must have a value, type, and period as described belowNOnly 3 frequency caps are supported
demographic_on_target_calculationEnumDemographic On-Target Calculation; Valid values: 'DIRECT', 'COMPOSITIONAL', 'COMPOSITIONAL_INCLUDE_UNKNOWN_BANDS'NValid when budget_model = DEMOGRAPHIC_IMPRESSION_TARGET and DEMOGRAPHIC_CURRENCY_TARGET; If a POST request is sent without the node, it will be set to the default value for your network. To set the default value for this node, please contact your Program Manager.
demographic_impression_steeringBooleanEnable demographic impression steeringNOnly valid when budget = DEMOGRAPHIC_IMPRESSION_TARGET or DEMOGRAPHIC_CURRENCY_TARGET; If you want to change the default value of the node, please contact your Program Manager
level_to_optimize_for_profitEnumLevel To Optimize For Profit; Valid values: 'NONE ', 'LOWEST', 'MODERATE', 'HIGHEST'NLevel To Optimize For Profit is an optional feature that must be turned on by your Program Manager. If you don't have this feature turned on and submit this node, we will return an error. If a request is sent without the node or the node is empty, it will be set as "NONE" by default.
excess_inventoryEnumValid values: 'NETWORK_DEFAULT', '0%','5%','20%', '50%', '70%', 'UNLIMITED'NIf a request is sent without the node or the node is empty, it will be set as "NETWORK_DEFAULT" by default.
excess_inventory_preconditionEnumValid values: ('UNLIMITED', 0,10,20...90)NExcess Inventory Precondition is an optional feature that must be turned on by your Program Manager. If you don't have this feature turned on and submit this node, we will return an error. If a request is sent without the node or the node is empty, it will be set as "UNLIMITED" by default if excess inventory is "0%", and set as "0" by default if excess inventory is set as greater than 0.
override_repeat_modeEnumValid values: 'NONE', 'REPEAT_EACH_BREAK','DO_NOT_REPEAT'NIf a request is sent without the node or the node is empty, it will be set as "NONE" by default.
dynamic_ad_insertionEnumValid values: 'DYNAMIC_ENABLED', 'SCHEDULED_ONLY'NRequires the network function: "ENABLE_HYLDA" or "OPERATOR_LINEAR_ADDRESSABLE"; If a request is sent without the node or the node is empty, it will be set as "DYNAMIC_ENABLED" by default.

Pacing_point Attributes - Child Attributes of Delivery Attributes

NameTypeMandatoryDetails
dateDateY
percentageDecimalY

Frequency_cap Attributes - Child Attributes of Delivery Attributes

NameTypeMandatoryDetails
valueIntegerYThe cap value
typeEnumYThe cap type; Valid values: 'IMPRESSION', 'PACKAGE'
periodEnum or IntegerYThe cap period; Valid values: ('TEN_MIN', 'HOUR', 'DAY', 'WEEK', '30DAYS', 'STREAM', 'ASSET', 'SITE_SECTION', 'CAMPAIGN') or integer (The unit is minute)

Override Attributes - Child Attributes of Basic Attributes

The override data should be grouped under the 'override' node. When a placement's budget_model is SOP/SOI, override cannot be set.

Override Attribute Definitions

NameTypeDetailsMandatoryRPM OnlyNotes
modeEnumThe override mode; Valid values: 'ABOVE_PAYING_ADS', 'AMONGST_PAYING_ADS', 'BELOW_PAYING_ADS'YValid when budget_model = CURRENCY_TARGET, IMPRESSION_TARGET, DEMOGRAPHIC_IMPRESSION_TARGET or DEMOGRAPHIC_CURRENCY_TARGET; No other budget models can set the override mode.
valueIntegerThe range of value for ' Amongst Paying Ads ' is 0 -- 100; The range of value for 'Above Paying Ads' is 11 -- 20; The range of values for 'Below Paying Ads ' is -10 -- -1YValid when mode is set
amongst_byEnumValid values: 'ABSOLUTE_RANK', 'CPM'YValid when mode = AMONGST_PAYING_ADS; ABSOLUTE_RANK is an optional feature that must be turned on by your Program Manager. If you don't have this feature turned on and this value is submitted, we will return an error.
precedence_levelEnumThe precedence level of Placement; Valid values: 'BELOW_NORMAL ', 'ABOVE_NORMAL', 'NORMAL', 'HIGH', 'HIGHEST'YValid when budget_model = ALL_IMPRESSION or SOV; No other budget models can set override precedence level; Precedence level is an optional feature that must be turned on by your Program Manager; If you don't have this feature turned on and submit this value, we will return an error.

Content Targeting Attributes - Child Attributes of Basic Attributes

The content targeting data should be grouped under the 'content_targeting' node.

NameTypeDetailsMandatoryRPM OnlyNotes
set_nameStringSet name of the content targetingYYThis field will be ignored if it is sent for a network that supports MRM only.
includeSetContains all media items and their MRM IDs. Possible media object: 'video', 'series', 'video_group', 'site_section', 'site', 'site_group'YThe API only supports MRM content. If there is content chosen for another ad server, it will not be included in the content associated with the placement. The relationship between media items is OR. For ROVN, it would be video_group with id = -1; For ROSN, it would be site_group with id = -1
excludeSetSame format as includeNThe API only supports MRM content. If there is content chosen for another ad server, it will not be included in the content associated with the placement.

Advanced Content Targeting Attributes - Child Attributes of Basic Attributes

NameTypeDetailsMandatoryRPM OnlyNotes
set_nameStringSet name of the content targetingYYThis field will be ignored if it is sent for a network that supports MRM only.
includeSetContains sets of media object groups. Each set contains all media items and their MRM IDs. Within one set, a relation_in_set node exists to indicate the relationship within one set (AND, OR). Between two sets, a relation_between_sets node exists to indicate the relationship between two sets (AND, OR)YRight now, we only support 3 sets maximum.
excludeSetSame format as exclude in normal content targetingN

Content Package Targeting Attributes - Child Attributes of Basic Attributes

If using Content Packages, you cannot use the include/exclude set level of granularity

NameTypeDetailsMandatoryRPM OnlyNotes
set_nameStringSet name of the content targetingYYThis field will be ignored if it is sent for a network that supports MRM only
content_package_idIntegerThe FW id of content packageY

Exclusivity Attributes - Child Attributes of Basic Attributes

The exclusivity data should be grouped under the 'exclusivity' node.

NameTypeDetailsMandatoryNotes
level_of_exclusivityEnumThe exclusivity level of the placement; Valid values: 'FULL', 'CUSTOM'Y
scope_of_exclusivityEnumThe exclusivity scope of the placement; Valid values: 'ALL_AD_UNITS', 'TARGETED_AD_UNITS', 'ADJACENT_ADS'YADJACENT_ADS is valid only when level_of_exclusivity = CUSTOM
exemptions_uexEnumThe exemption UEX of the placement; Valid values: 'CONTENT_SETTING_DICTATE', 'EXEMPT_FROM_UEX', 'NO_EXEMPT'YValid when budget model = ALL_IMPRESSION, SOV, SOP or SOI
custom_exclusivity_exemptionSetThe customized scope of exclusivity of the placement is described belowN

Scope of Exclusivity Attributes - Child Attributes of Exclusivity Attributes

NameTypeDetails
excludesetThe Industries, Advertisers, Brands, Resellers, Campaigns, IOs, or Placements that are excluded from returning within the scope defined in scope_of_exclusivity. Each excluded item child node contains the following Excluded Item Child Node attributes described below
exemptSetThe Industries, Advertisers, Brands, Resellers, Campaigns, IOs, or Placements that are exempt from returning within the scope defined in scope_of_exclusivity. Each exempt item child node contains Exempt Item Child Node attributes as described below.

Excluded Item Child Node Attributes - Child Attributes of Scope of Exclusivity Attributes

NameTypeDetails
idIntegerItem ID
nameStringItem name
typeEnumValid values: 'ALL_INDUSTRIES', 'MRM_INDUSTRY', 'INDUSTRY_GROUP', 'ADVERTISER', 'BRAND', 'RESELLER', 'CAMPAIGN', 'IO', 'PLACEMENT'

Exempt Item Child Node Attributes - Child Attributes of Scope of Exclusivity Attributes

NameTypeDetails
idIntegerItem ID
nameStringItem name
typeEnumValid values: 'MRM_INDUSTRY', 'INDUSTRY_GROUP', 'ADVERTISER', 'BRAND', 'RESELLER', 'CAMPAIGN', 'IO', 'PLACEMENT', 'MUTUAL_EXEMPTED_PLACEMENT'

Custom Targeting Attributes - Child Attributes of Basic Attributes

The custom targeting data should be grouped under 'custom_targeting'.

NameTypeDetailsMandatoryNotes
setSetA set of custom targeting attributes for each set as described belowYIf there are multiple sets, then the relationship within a set can only be "ANY". Across sets, the relationship is "AND".
matchEnumThe logic within sets; Valid values: 'ANY', 'ALL'NIf there is more than one set, match can only be set to 'ANY'. If there is only one set with multiple key values, the match can be 'ANY' or 'ALL'. Required if there is only one set.

Custom Targeting Set Attributes - Child Attributes of Custom Targeting Attributes

NameTypeDetails
key_valueStringThe key value string which should contains "="

Daypart Targeting Attributes - Child Attributes of Basic Attributes

The daypart targeting data should be grouped under 'daypart_targeting'.

NameTypeDetailsMandatoryNotes
time_zoneStringThe time zone of daypart targetingYValues include existing Time Zones or 'RELATIVE', which indicates "Relative to Viewer's Timezone"
partSetA set of daypart targets, use the following daypart part attributes asY

Daypart Part Attributes - Child Attributes of Daypart Targeting Attributes

NameTypeDetails
start_timeEnum'12 MIDNIGHT', '01:00AM', '02:00AM', '03:00AM', '04:00AM', '05:00AM', '06:00AM', '07:00AM', '08:00AM', '09:00AM', '10:00AM', '11:00AM', '12 NOON', '01:00PM', '02:00PM', '03:00PM', '04:00PM', '05:00PM', '06:00PM', '07:00PM', '08:00PM', '09:00PM', '10:00PM', '11:00PM'
end_timeEnum'01:00AM', ' 02:00AM ', ' 03:00AM', ' 04:00AM', '05:00AM', '06:00AM', '07:00AM', '08:00AM', ' 09:00AM', '10:00AM', '11:00AM', '12 NOON', '01:00PM', ' 02:00PM ', ' 03:00PM', '04:00PM', '05:00PM', '06:00PM', ' 07:00PM', '08:00PM', '09:00PM', '10:00PM', '11:00PM', ''11 :59PM'
start_dayEnumDay in week Valid values: 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'
end_dayEnumDay in week Valid values: 'SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'

Geography Targeting Attributes - Child Attributes of Basic Attributes

The geography targeting data should be grouped under the <geography_targeting> node. This node features support for both including and excluding geography items.

Function/NodeDescriptionData Type(s)Creatable?Updatable?Included in GET?MRM or RPM
includeTargeted geography itemsGeography SetYYYBoth
excludeExcluded targeted geography itemsGeography SetYYYBoth

Geography Set Attributes - Child Attributes of Geography Targeting Attributes

Function/NodeDescriptionData Type(s)Creatable?Updatable?Included in GET?MRM or RPMComments
countryThe IDs of the countries to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values
stateThe IDs of the states to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values
dmaThe IDs of the dmas to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values
cityThe IDs of the cities to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values
postal_codeThe IDs of the postal_codes to be targetedpostal_code_packageThe IDs of the postal_codes to be targetedSet<FW_ID>YYY
postal_code_packageThe IDs of the postal_ode_packages to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values
regionThe IDs of the regions to be targetedSet<FW_ID>YYYBothSee Geography Data for a list of values

Ad Product Attributes - Child Attributes of Basic Attributes

The ad product data should be grouped under the 'ad_product' node.

NameTypeDetailsMandatoryNotes
link_methodEnumThe linking method of the placement; Valid values: 'NOT_LINKED', 'LINK_WHERE_POSSIBLE', 'ALL_LINKED'YIf one 'ad_unit_package_id' exists, 'link_method' is not required since the ad unit package has the link method pre-defined. If multiple 'ad_unit_package_id's are used but no 'link_method' is provided, the 'link_method' of first ad unit package (in the XML list) will be used.
ad_unit_package_idIntegerThe ID of the ad unit package. Check the Ad Unit API to see how to get ad unit packageNRPM Workflow Settings: If the Ad_product field is locked, then the API can not update the ad_unit_node, price, budget_exempt, and impression_cap fields. If the Price field is locked, then the API can not update an ad_unit's price but still can update the ad_unit_id, budget_exempt, and impression_cap. If the Budget field is locked, then the API can not update the ad_unit's budget_exempt and impression_cap but still can update the ad_unit_id and ad_unit price.
ad_unit_nodeSetThe set of ad unit node attributes as described belowNThe status of the ad_unit_node is not supported by RPM client.
advanced_linkingSetThe advanced_linking defines variant linking scenarios which are combinations of different linking styles between different ad unit types, as described belowNOnly supported when link_method = LINK_WHERE_POSSIBLE or ALL_LINKED.
custom_setSetThe custom_set attributes allow you to specify exactly which ad units should be linked together, as described belowNOnly supported when link_method = NOT_LINKED. Custom Set is an optional feature that must be turned on by your Program Manager. If you don't have this feature turned on and submit this node, we will return an error.

Ad Unit Node Attributes - Child Attributes of Ad Product Attributes

NameTypeDetails
ad_unit_idIntegerThe id of ad unit. Check the Ad Unit API to see how to get ad unit.
statusEnumThe status of ad unit node. Valid values: 'ACTIVE', 'IN_ACTIVE'
`price`Decimal
budget_exemptBooleanSet budget exempt for ad unit node, check budget exempt
impression_capIntegerSet impression cap for ad unit node, check impression cap

Linking Scenario Attributes - Child Attributes of Ad Product Attributes

NameTypeDetails
instreamEnumValid values: 'ALL_LINKED', 'LINK_WHERE_POSSIBLE', 'NOT_LINKED'
displayEnumValid values: 'ALL_LINKED', 'LINK_WHERE_POSSIBLE', 'NOT_LINKED'
overlayEnumValid values: 'ALL_LINKED', 'LINK_WHERE_POSSIBLE', 'NOT_LINKED'

Custom Set Attributes - Child Attributes of Ad Product Attributes

NameTypeDetails
ad_unit_idIntegerThe ad or ad unit
link_methodEnumValid values: 'LINK_WHERE_POSSIBLE', 'ALL_LINKED'

Note: The "exclude from invoice" and "accounting price" attributes (the latter available for "Make Good" placements) could be cleared from an Ad Unit when updating the Ad Product via API V3 much like they would in the UI.

Note: Ad Product of a placement cannot be cleared via API V3.

Note: Ad units in an ad package will be shown as individual ad units; no ad package IDs are returned in the Get response. Status is returned for MRM only networks.

Normal Audience Targeting Attributes - Child Attributes of Basic Attributes

The audience targeting data should be grouped under the 'audience_targeting' node.

NameTypeDetailsMandatoryRPM OnlyNotes
audience_itemIntegerAudience item IDYAudience targeting is an optional feature that must be turned on by your Program Manager. If you don't have this feature turned on and submit this node, we will return an error.
includeSetA set of audience IDs that should be matchedY
excludeSetSame format as includeN

Advanced Audience Targeting Attributes - Child Attributes of Basic Attributes

The audience targeting data should be grouped under the 'audience_targeting' node.

NameTypeDetailsMandatoryRPM OnlyNotes
includeSetContains sets of audience items. Each set contains audience item MRM IDs. Within one set, a relation_in_set node exists to indicate the relationship within one set (AND, OR). Between two sets, a relation_between_sets node exists to indicate the relationship between two sets (AND, OR).YRight now, we only support 3 sets maximum
excludeSetSame format as exclude in normal content targetingN

Metadata Attributes - Child Attributes of Basic Attributes

The metadata data should be grouped under the 'metadatas' node.

NameTypeDetailsMandatoryRPM OnlyNotes
field_idIntegerThe ID of metadata label in FW databaseYYIDs are not shown in the UI, please contact FreeWheel to get the field ID mapping list.
valueStringThe value of the metadata fieldYYThe default value will be set if no value is given and a default value exists for current field.
primaryBooleanIf "true": Current metadata is the primary metadata for current field; If "false": Current metadata is NOT the primary metadata for current fieldRequired for multi-occurrence fieldsYIf a metadata field is set to multi-occurrence, then one instance must be primary and only one field can be set as primary. Only one metadata can be set for single-occurrence field and it will always be primary metadata.

Restrict Delivery to Campaign Tags Attributes - Child Attribute to Basic Attributes

NameTypeDetailsMandatoryRPM OnlyNotes
restrict_delivery_to_campaign_tagsBooleanSetting this option will restrict delivery exclusively to tags generated specifically for this placement.N

Does not support clear on campaign tags.

Soft Reserve Attributes - Child Attributes to Basic Attributes

All soft reserve data should be grouped under the 'soft_reserve' node

NameTypeDetailsMandatoryRPM or MRM OnlyNotes
soft_reserveBooleanSoft reserve inventory for allowed durationNMRMsoft_reserve = true means soft reserve a placement; soft_reserve = false means soft release a placement

Does not support clear on soft reserve

Industry Attributes - Child Attributes to Basic Attributes

All industry data should be grouped under the 'industry' node. To see the public list of valid industry IDs, please click here. Please contact FreeWheel if you would like to get IDs for your network's custom Industry Groups.

NameTypeDetailsMandatoryRPM OnlyNotes
mrm_industryIntegerIncluded MRM industriesN
industry_groupIntegerIncluded industry groupsN

Platform Targeting Attributes - Child Attributes of Basic Attributes

All platform targeting data should be grouped under the 'platform_targeting' node.

NameTypeDetailsMandatoryRPM OnlyNotes
deviceIntegerThe ID of the device(s) to be targetedNSee the list of valid platform IDs.
os`IntegerThe ID of the OS(s) to be targetedNSee the list of valid platform IDs).
browserIntegerThe ID of the browser(s) to be targetedNSee the list of valid platform IDs.
packageIntegerThe ID of the package(s) to be targetedN

Alert Attributes - Child Attributes of Basic Attributes

All alert data should be grouped under the 'alert' node. Alert only support for MRM-only placement, and it's get-only.

NameTypeDetailsMandatoryRPM or MRMNotes
warningStringAll warning message(s)NMRM
errorStringAll error message(s)NMRM

Create/Update Alert Info is not supported.
Create Alert Info is not supported.

Upfront Association Attributes - Child Attributes of Basic Attributes

The upfront associate data should be grouped under the 'upfront_association' node.

Note: Upfront Association is an optional feature that must be turned on by your Program Manager.

NameTypeDetailsMandatoryRPM OnlyNotes
upfront_plan_component_idIntegerUpfront plan Component upfront IDYYUpfront Component IDs can be found as part of the Upfronts Plan.
user_defined_allocated_budgetBooleanUser Defined Allocated Budget. If TRUE: Need also set allocated_budget field for user specified budget. If FALSE: No need to set allocated_budget field.NYThe default value will be set if no value is given. The default value is FALSE.
allocated_budgetDecimalAllocated budgetNYMust set this field if the user_defined_allocated_budget=TRUE. If placement budget model is impression, the number should be an integer. If it is currency, the number can be a decimal.
hold_upfront_inventoryBooleanHold Upfront Inventory using current Placement SettingsNYWhen set to TRUE, the placement's settings will be used to reserve inventory for forecasting purposes instead of the associated UPC's settings.

Cost Attributes - Child Attributes of Basic Attributes

The cost data should be grouped under the 'cost' node.

Note: Cost is an optional feature that must be turned on by your Program Manager.

Function/NodeData TypeCreatable?Updatable?Included in GET?
gross_costFloatNNY
net_costFloatNNY

Create/Update Cost is not supported.
Clear Cost is not supported.

Premiums Attributes - Child Attributes of Basic Attributes

The premiums data should be grouped under the 'premiums' node.

Note: Premiums is an optional feature enabled only for Networks with Sales Proposal enabled.

Function/NodeData TypeDetailsCreatable?Updatable?Included in GET?
idFW_IDPremium IDYYY

Placement Template Label Attributes - Child Attributes of Basic Attributes

The placement template label data should be grouped under the 'placement_template_label' node.

*Note: Placement template label is an optional feature that must be turned on by your Program Manager.

Function/NodeData TypeDetailsCreatable?Updatable?Included in GET?
`id`FW_IDPremium IDYY

Create/Update Placement Template Label is not supported.
Clear Placement Template Label is not supported.