Yield Optimization Distribution API V4

The Yield Optimization Distribution API V4 allows users to retrieve, create, and update the Distributions type of Yield Optimization rules.

📘

Note

Yield Optimization Distribution API V4 functionality is only available for Marketplace users.

Use the Yield Optimization Distribution API V4 to:

  • Create a new Yield Optimization Distribution rule
  • Update an existing Yield Optimization Distribution rule, including its activation and deactivation
  • Retrieve a list of Yield Optimization Distribution rules of your current network with basic attributes returned and query the list by id, name, application_scope, demand_type, and status
  • Retrieve full attributes of an individual Yield Optimization Distribution rule

URIs

TypeURI
Production Instancehttps://api.freewheel.tv/services/v4/yield_optimization/distributions?{param1}={query1}&...
Staging Instancehttps://api.stg.freewheel.tv/services/v4/yield_optimization/distributions?{param1}={query1}&...

Basic Attributes

NameTypeDescriptionGet Only?Notes
idFW_IDThe ID of the yield optimization distribution rule.Yes
network_idFW_IDThe id of network which the yield optimization distribution rule belongs to.Yes
nameStringThe name of the yield optimization distribution rule.The maximum length of characters is 255
descriptionStringThe description of the yield optimization distribution rule.The maximum length of characters is 500.
start_timeTimeThe start time of the yield optimization distribution rule.The value must be later than current time.
end_timeTimeThe end time of the yield optimization distribution rule.The value must be later than start time and current time
It would return empty when end_time is ongoing.
statusEnumThe status of yield optimization distribution.
Valid values:

- ACTIVE
- INACTIVE
-NOT_START
-EXPIRED
application_scopeEnumThe demand application scope of a yield optimization distribution rule. It determines whether the rule applies to a specific demand object or the whole network.
Valid values:

- GLOBAL
- DEMAND_TYPE_SPECIFIC
Each network can only have one GLOBAL distribution rule.
demand_typeEnumThe demand type that yield optimization distribution rule takes effect on.
Valid values:

- PLACEMENT
- PROGRAMMATIC_GUARANTEED_DEAL
PROGRAMMATIC_GUARANTEED_DEAL is only valid for Programmatic customers.
supplies_and_optimization_goalsArray of the set of supplies_and_optimization_goalThe supplies and optimization goals of a yield optimization distribution rule. Allows a flexible way to configure the supply scope in expressions composed of multiple dimensions.The maximum number of supplies_and_optimization_goal sets is 20.
risk_levelEnumThe risk level of yield optimization distribution. Valid values:

- SAFE
- LIGHT_RISK
- MEDIUM_RISK
- HEAVY_RISK
- IGNORE_GOAL
nip_of_other_suppliesObjectThe nested inventory prioritization for other supplies of yield optimization distribution.Contains the same objects as nested_inventory_prioritization.

Supplies and Optimization Goals - Child Attributes

NameTypeDescriptionNotes
expression_and_goal_idIntegerThe supply and optimization goal id of an optimization goal.The ID will be generated the first time push a new goal;
If the user would like to update an existing optimization goal attribute, please ensure to pass the corresponding expression_and_goal_id in the request. Otherwise, a new goal would be created.
expressionSetThe expression comprises multiple dimensions that follow the yield optimization rule.
distribution_valueDecimalThe distribution percentage of the current optimization goal.The value must be between 0 and 100.
The sum of the distribution_value of all goals belonging to one single distributor rule should not be larger than 100.
labelStringThe label of the current optimization goal.The maximum length of this field is 255.
nested_inventory_prioritizationSetThe inventory prioritization rule of the current optimization goal, expressed as a nested set.

Expression - Child Attributes

NameTypeDescriptionNotes
relation_between_statementsEnumThe operator of an expression indicates the logical relationship across all relations/statements within the current optimization goal.
Valid values: AND, OR
statementsArray of StatementEach statement contains multiple sets composed of corresponding inclusive and exclusive items.

Statements - Child Attributes

NameTypeDescriptionNotes
relation_between_setsEnumThe operator of a relation/statement indicates the logical relationship across all sets within the current relation.
Valid values: AND, OR
setsArray of SetEach set has its own inclusive and exclusive items.

Set - Child Attributes

NameTypeDescriptionNotes
item_inclusion_exclusion_typeBooleanIndicates whether the items below will be inclusive or exclusive items.
If the value is true, it means EXCLUDE the items.
If the value is false, it means INCLUDE the items.
itemsArray of the set of itemInclusive or exclusive items of each individual set of an optimization goal.

Item - Child Attributes

NameTypeDescriptionGet Only?Notes
typeEnumThe type of items to be selected into relation/statement sets.
Valid values are ENDPOINT_OWNER, ENDPOINT_NAME,COUNTRY, STATE, DMA, POSTAL_CODE, STREAM_MODE, PROGRAMMER, BRAND, CHANNEL, DEVICE, ENVIRONMENT, OS, GENRE, LANGUAGE, TV_RATING, DURATION, DAYPART, INVENTORY_ORDER, INVENTORY_PACKAGE
INVENTORY_ORDER is only valid for Marketplace buyers.
INVENTORY_PACKAGE Is only valid for Marketplace customers.
idFW_IDThe FreeWheel assigned ID of the included/excluded item.
nameStringThe name of the included/excluded item.Yes

Nested Inventory Prioritization and Nested Inventory Prioritization for Other Supplies - Child Attributes

NameTypeDescriptionGet Only?Notes
idFW_IDThe ID of the nested yield optimization inventory prioritization rule.NoThis value should be filled when creating a new distribution with nested inventory prioritization.
nameStringThe name of the nested yield optimization prioritization rule.YesThe maximum length of characters is 255.
descriptionStringThe description of the nested yield optimization prioritization rule.YesThe maximum length of characters is 500.
prioritization_tieringSetThe prioritization tiering of each inventory source type including both parent and child tiering.YesAt least two supply source tiers (parent/child) of a certain prioritization rule.

Prioritization Tiering - Child Attributes

NameTypeDescriptionNotes
parent_level_tieringArray of sub-parent_level_tieringThe parent level tiering allows users to apply prioritization tiering to the supply source categories level.
child_level_tieringArray of set sub-child_level_tieringThe child level tiering allows users to apply prioritization tiering to the individual supply object level.

Sub Parent Level Tiering - Child Attributes

NameTypeDescriptionNotes
supply_typeEnumThe supply source category of parent-level supply. Valid values are: OWNED_AND_OPERATED, MRM_RULE, INVENTORY_ORDER, and INVENTORY_SPLIT_ORDER.INVENTORY_ORDER and INVENTORY_SPLIT_ORDER are only valid for Marketplace buyers.
priorityIntegerThe priority/tier of the corresponding supply_type.Value must be between 1 and 120.

Sub Child Level Tiering - Child Attributes

NameTypeDescriptionGet Only?Notes
supply_typeEnumThe supply source category of child-level supply items. Valid values are:
INVENTORY_ORDER, INVENTORY_SPLIT_ORDER, and INVENTORY_PACKAGE.
INVENTORY_ORDER, INVENTORY_SPLIT_ORDER are only valid for Marketplace buyers.
INVENTORY_PACKAGE Is only valid for Marketplace customers.
supply_idFW_IDThe FreeWheel assigned ID of the child-level supply item for tiering.
supply_nameStringThe name of the child-level supply item for tiering.Yes
priorityIntegerThe priority/tier of the child-level supply item for tiering.The value must be between 1 and 120.

Demand - Child Attributes

NameTypeDescriptionGet Only?Notes
demand_idFW_IDThe ID of the demand object that the YO rule applies to.Yes
demand_nameStringThe name of the demand object that the YO rule applies to.Yes
public_idStringThe external_deal_id of the programmatic deal that the YO rule applies to.YesValid only when demand_type = PROGRAMMATIC_GUARANTEED_DEAL