Insertionorder data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNo
organization_idstringNo
campaign_idstringNo
statusenumNoValues: UNSPECIFIED, ACTIVE, PAUSED, ARCHIVED, DRAFT, SCHEDULED_FOR_DELETION, PROCESSING, PROCESSING_FAILED
pacingobjectNo
pacing.periodenumNoValues: UNSPECIFIED, DAILY, FLIGHT
pacing.typestringNo
pacing.daily_max_amountnumberNo
pacing.daily_max_impressionsnumberNo
frequency_capobjectNo
frequency_cap.is_unlimitedbooleanNo
frequency_cap.time_unitenumNoValues: UNSPECIFIED, LIFETIME, MONTHS, WEEKS, DAYS, HOURS, MINUTES
frequency_cap.time_unit_countnumberNo
frequency_cap.max_impressionsnumberNo
frequency_cap.max_viewsnumberNo
kpiobjectNo
kpi.typeenumNoValues: UNSPECIFIED, CPM, CPC, CPA, CTR, VIEWABILITY, CPIAVC, CPE, CPV, CLICK_CVR, IMPRESSION_CVR, VCPM, VTR, AUDIO_COMPLETION_RATE, VIDEO_COMPLETION_RATE, CPCL, CPCV, TOS10, MAXIMIZE_PACING, CUSTOM_IMPRESSION_VALUE_OVER_COST, OTHER
kpi.amountnumberNo
kpi.percentagenumberNo
kpi.string_valuestringNo
kpi.algorithm_idstringNo
budget_unitenumNoValues: UNSPECIFIED, CURRENCY, IMPRESSIONS
budget_segmentsAdsInsertionorderBudgetSegment[]No
budget_segments[].budget_amountnumberNo
budget_segments[].descriptionstringNo
budget_segments[].start_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
budget_segments[].end_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
bid_strategyobjectNoYOUTUBE_AND_PARTNERS
bid_strategy.typeenumNoValues: FIXED_BID, MAXIMIZE_SPEND, PERFORMANCE_GOAL, YOUTUBE_AND_PARTNERS
bid_strategy.fixed_bid_amountnumberNo
bid_strategy.performance_goal_typeenumNoValues: UNSPECIFIED, CPA, CPC, VIEWABLE_CPM, CUSTOM_ALGO, CIVA, IVO_TEN, AV_VIEWED, REACH
bid_strategy.performance_goal_amountnumberNo
bid_strategy.max_average_cpm_bid_amountnumberNo
bid_strategy.custom_bidding_algorithm_idstringNo
bid_strategy.raise_bid_for_dealsbooleanNo
bid_strategy.youtube_and_partners_typeenumNoValues: UNSPECIFIED, MANUAL_CPV, MANUAL_CPM, TARGET_CPA, TARGET_CPM, RESERVE_CPM, MAXIMIZE_LIFT, MAXIMIZE_CONVERSIONS, TARGET_CPV, TARGET_ROAS, MAXIMIZE_CONVERSION_VALUE
bid_strategy.youtube_and_partners_valuestringNo
bid_strategy.target_roasnumberNoTarget ROAS e.g. 2.5 = 250% (Google)
referencestringNoclient's reference ID for the insertion order
metadataAdsMetadata[]No
metadata[].idstringNo
metadata[].slugstringNo
metadata[].valueobjectNo
metadata[].namespacestringNo
metadata[].formatenumNoValues: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type AdsInsertionorder = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string;
	organization_id?: string;
	campaign_id?: string;
	status?: 'UNSPECIFIED' | 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'DRAFT' | 'SCHEDULED_FOR_DELETION' | 'PROCESSING' | 'PROCESSING_FAILED';
	pacing?: {
		period?: 'UNSPECIFIED' | 'DAILY' | 'FLIGHT'; 
		type?: string; 
		daily_max_amount?: number; 
		daily_max_impressions?: number; 
	};
	frequency_cap?: {
		is_unlimited?: boolean; 
		time_unit?: 'UNSPECIFIED' | 'LIFETIME' | 'MONTHS' | 'WEEKS' | 'DAYS' | 'HOURS' | 'MINUTES'; 
		time_unit_count?: number; 
		max_impressions?: number; 
		max_views?: number; 
	};
	kpi?: {
		type?: 'UNSPECIFIED' | 'CPM' | 'CPC' | 'CPA' | 'CTR' | 'VIEWABILITY' | 'CPIAVC' | 'CPE' | 'CPV' | 'CLICK_CVR' | 'IMPRESSION_CVR' | 'VCPM' | 'VTR' | 'AUDIO_COMPLETION_RATE' | 'VIDEO_COMPLETION_RATE' | 'CPCL' | 'CPCV' | 'TOS10' | 'MAXIMIZE_PACING' | 'CUSTOM_IMPRESSION_VALUE_OVER_COST' | 'OTHER'; 
		amount?: number; 
		percentage?: number; 
		string_value?: string; 
		algorithm_id?: string; 
	};
	budget_unit?: 'UNSPECIFIED' | 'CURRENCY' | 'IMPRESSIONS';
	budget_segments?: [];
	bid_strategy?: {
		type?: 'FIXED_BID' | 'MAXIMIZE_SPEND' | 'PERFORMANCE_GOAL' | 'YOUTUBE_AND_PARTNERS'; 
		fixed_bid_amount?: number; 
		performance_goal_type?: 'UNSPECIFIED' | 'CPA' | 'CPC' | 'VIEWABLE_CPM' | 'CUSTOM_ALGO' | 'CIVA' | 'IVO_TEN' | 'AV_VIEWED' | 'REACH'; 
		performance_goal_amount?: number; 
		max_average_cpm_bid_amount?: number; 
		custom_bidding_algorithm_id?: string; 
		raise_bid_for_deals?: boolean; 
		youtube_and_partners_type?: 'UNSPECIFIED' | 'MANUAL_CPV' | 'MANUAL_CPM' | 'TARGET_CPA' | 'TARGET_CPM' | 'RESERVE_CPM' | 'MAXIMIZE_LIFT' | 'MAXIMIZE_CONVERSIONS' | 'TARGET_CPV' | 'TARGET_ROAS' | 'MAXIMIZE_CONVERSION_VALUE'; 
		youtube_and_partners_value?: string; 
		target_roas?: number; // Target ROAS e.g. 2.5 = 250% (Google) 
	}; // YOUTUBE_AND_PARTNERS
	reference?: string; // client's reference ID for the insertion order
	metadata?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodAdsInsertionorder = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional(),
	organization_id: z.string().optional(),
	campaign_id: z.string().optional(),
	status: z.enum("UNSPECIFIED", "ACTIVE", "PAUSED", "ARCHIVED", "DRAFT", "SCHEDULED_FOR_DELETION", "PROCESSING", "PROCESSING_FAILED").optional(),
	pacing: z.object({
			period: z.enum("UNSPECIFIED", "DAILY", "FLIGHT").optional(),
			type: z.string().optional(),
			daily_max_amount: z.number().optional(),
			daily_max_impressions: z.number().optional()
}).optional(),
	frequency_cap: z.object({
			is_unlimited: z.boolean().optional(),
			time_unit: z.enum("UNSPECIFIED", "LIFETIME", "MONTHS", "WEEKS", "DAYS", "HOURS", "MINUTES").optional(),
			time_unit_count: z.number().optional(),
			max_impressions: z.number().optional(),
			max_views: z.number().optional()
}).optional(),
	kpi: z.object({
			type: z.enum("UNSPECIFIED", "CPM", "CPC", "CPA", "CTR", "VIEWABILITY", "CPIAVC", "CPE", "CPV", "CLICK_CVR", "IMPRESSION_CVR", "VCPM", "VTR", "AUDIO_COMPLETION_RATE", "VIDEO_COMPLETION_RATE", "CPCL", "CPCV", "TOS10", "MAXIMIZE_PACING", "CUSTOM_IMPRESSION_VALUE_OVER_COST", "OTHER").optional(),
			amount: z.number().optional(),
			percentage: z.number().optional(),
			string_value: z.string().optional(),
			algorithm_id: z.string().optional()
}).optional(),
	budget_unit: z.enum("UNSPECIFIED", "CURRENCY", "IMPRESSIONS").optional(),
	budget_segments: z.array().optional(),
	bid_strategy: z.object({
			type: z.enum("FIXED_BID", "MAXIMIZE_SPEND", "PERFORMANCE_GOAL", "YOUTUBE_AND_PARTNERS").optional(),
			fixed_bid_amount: z.number().optional(),
			performance_goal_type: z.enum("UNSPECIFIED", "CPA", "CPC", "VIEWABLE_CPM", "CUSTOM_ALGO", "CIVA", "IVO_TEN", "AV_VIEWED", "REACH").optional(),
			performance_goal_amount: z.number().optional(),
			max_average_cpm_bid_amount: z.number().optional(),
			custom_bidding_algorithm_id: z.string().optional(),
			raise_bid_for_deals: z.boolean().optional(),
			youtube_and_partners_type: z.enum("UNSPECIFIED", "MANUAL_CPV", "MANUAL_CPM", "TARGET_CPA", "TARGET_CPM", "RESERVE_CPM", "MAXIMIZE_LIFT", "MAXIMIZE_CONVERSIONS", "TARGET_CPV", "TARGET_ROAS", "MAXIMIZE_CONVERSION_VALUE").optional(),
			youtube_and_partners_value: z.string().optional(),
			target_roas: z.number().optional().describe("Target ROAS e.g. 2.5 = 250% (Google)")
}).optional().describe("YOUTUBE_AND_PARTNERS"),
	reference: z.string().optional().describe("client's reference ID for the insertion order"),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class AdsInsertionorderStatus(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	ACTIVE = 'ACTIVE'
	PAUSED = 'PAUSED'
	ARCHIVED = 'ARCHIVED'
	DRAFT = 'DRAFT'
	SCHEDULED_FOR_DELETION = 'SCHEDULED_FOR_DELETION'
	PROCESSING = 'PROCESSING'
	PROCESSING_FAILED = 'PROCESSING_FAILED'

@dataclasses.dataclass
class AdsInsertionorderBudget_unit(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	CURRENCY = 'CURRENCY'
	IMPRESSIONS = 'IMPRESSIONS'

@dataclasses.dataclass
class AdsInsertionorderPacingPeriod(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	DAILY = 'DAILY'
	FLIGHT = 'FLIGHT'

@dataclasses.dataclass
class PropertyAdsInsertionorderPacing:
	period: Optional[AdsInsertionorderPacingPeriod]
	type: Optional[str]
	daily_max_amount: Optional[int]
	daily_max_impressions: Optional[int]

@dataclasses.dataclass
class AdsInsertionorderFrequency_capTime_unit(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	LIFETIME = 'LIFETIME'
	MONTHS = 'MONTHS'
	WEEKS = 'WEEKS'
	DAYS = 'DAYS'
	HOURS = 'HOURS'
	MINUTES = 'MINUTES'

@dataclasses.dataclass
class PropertyAdsInsertionorderFrequency_cap:
	is_unlimited: Optional[bool]
	time_unit: Optional[AdsInsertionorderFrequency_capTime_unit]
	time_unit_count: Optional[int]
	max_impressions: Optional[int]
	max_views: Optional[int]

@dataclasses.dataclass
class AdsInsertionorderKpiType(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	CPM = 'CPM'
	CPC = 'CPC'
	CPA = 'CPA'
	CTR = 'CTR'
	VIEWABILITY = 'VIEWABILITY'
	CPIAVC = 'CPIAVC'
	CPE = 'CPE'
	CPV = 'CPV'
	CLICK_CVR = 'CLICK_CVR'
	IMPRESSION_CVR = 'IMPRESSION_CVR'
	VCPM = 'VCPM'
	VTR = 'VTR'
	AUDIO_COMPLETION_RATE = 'AUDIO_COMPLETION_RATE'
	VIDEO_COMPLETION_RATE = 'VIDEO_COMPLETION_RATE'
	CPCL = 'CPCL'
	CPCV = 'CPCV'
	TOS10 = 'TOS10'
	MAXIMIZE_PACING = 'MAXIMIZE_PACING'
	CUSTOM_IMPRESSION_VALUE_OVER_COST = 'CUSTOM_IMPRESSION_VALUE_OVER_COST'
	OTHER = 'OTHER'

@dataclasses.dataclass
class PropertyAdsInsertionorderKpi:
	type: Optional[AdsInsertionorderKpiType]
	amount: Optional[int]
	percentage: Optional[int]
	string_value: Optional[str]
	algorithm_id: Optional[str]

@dataclasses.dataclass
class AdsInsertionorderBid_strategyType(str, Enum):
	FIXED_BID = 'FIXED_BID'
	MAXIMIZE_SPEND = 'MAXIMIZE_SPEND'
	PERFORMANCE_GOAL = 'PERFORMANCE_GOAL'
	YOUTUBE_AND_PARTNERS = 'YOUTUBE_AND_PARTNERS'

@dataclasses.dataclass
class AdsInsertionorderBid_strategyPerformance_goal_type(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	CPA = 'CPA'
	CPC = 'CPC'
	VIEWABLE_CPM = 'VIEWABLE_CPM'
	CUSTOM_ALGO = 'CUSTOM_ALGO'
	CIVA = 'CIVA'
	IVO_TEN = 'IVO_TEN'
	AV_VIEWED = 'AV_VIEWED'
	REACH = 'REACH'

@dataclasses.dataclass
class AdsInsertionorderBid_strategyYoutube_and_partners_type(str, Enum):
	UNSPECIFIED = 'UNSPECIFIED'
	MANUAL_CPV = 'MANUAL_CPV'
	MANUAL_CPM = 'MANUAL_CPM'
	TARGET_CPA = 'TARGET_CPA'
	TARGET_CPM = 'TARGET_CPM'
	RESERVE_CPM = 'RESERVE_CPM'
	MAXIMIZE_LIFT = 'MAXIMIZE_LIFT'
	MAXIMIZE_CONVERSIONS = 'MAXIMIZE_CONVERSIONS'
	TARGET_CPV = 'TARGET_CPV'
	TARGET_ROAS = 'TARGET_ROAS'
	MAXIMIZE_CONVERSION_VALUE = 'MAXIMIZE_CONVERSION_VALUE'

@dataclasses.dataclass
class PropertyAdsInsertionorderBid_strategy:
	type: Optional[AdsInsertionorderBid_strategyType]
	fixed_bid_amount: Optional[int]
	performance_goal_type: Optional[AdsInsertionorderBid_strategyPerformance_goal_type]
	performance_goal_amount: Optional[int]
	max_average_cpm_bid_amount: Optional[int]
	custom_bidding_algorithm_id: Optional[str]
	raise_bid_for_deals: Optional[bool]
	youtube_and_partners_type: Optional[AdsInsertionorderBid_strategyYoutube_and_partners_type]
	youtube_and_partners_value: Optional[str]
	"""Target ROAS e.g. 2.5 = 250% (Google)"""
	target_roas: Optional[int]

@dataclasses.dataclass
class AdsInsertionorder:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	name: Optional[str]
	organization_id: Optional[str]
	campaign_id: Optional[str]
	status: Optional[AdsInsertionorderStatus]
	pacing: Optional[PropertyAdsInsertionorderPacing]
	frequency_cap: Optional[PropertyAdsInsertionorderFrequency_cap]
	kpi: Optional[PropertyAdsInsertionorderKpi]
	budget_unit: Optional[AdsInsertionorderBudget_unit]
	budget_segments: Optional[PropertyAdsInsertionorderBudget_segments]
	"""YOUTUBE_AND_PARTNERS"""
	bid_strategy: Optional[PropertyAdsInsertionorderBid_strategy]
	"""client's reference ID for the insertion order"""
	reference: Optional[str]
	metadata: Optional[PropertyAdsInsertionorderMetadata]
Are we missing anything? Let us know
Was this page helpful?