Variable ProductSchemaConst
ProductSchema: ZodObject<
{
product_id: ZodString;
name: ZodString;
description: ZodString;
publisher_properties: ZodArray<
ZodUnion<
readonly [
ZodObject<
{ publisher_domain: ZodString; selection_type: ZodLiteral<"all"> },
$loose,
>,
ZodObject<
{
publisher_domain: ZodString;
selection_type: ZodLiteral<"by_id">;
property_ids: ZodArray<ZodString>;
},
$loose,
>,
ZodObject<
{
publisher_domain: ZodString;
selection_type: ZodLiteral<"by_tag">;
property_tags: ZodArray<ZodString>;
},
$loose,
>,
],
>,
>;
channels: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
ZodLiteral<"display">,
ZodLiteral<"olv">,
ZodLiteral<"social">,
ZodLiteral<"search">,
ZodLiteral<"ctv">,
ZodLiteral<"linear_tv">,
ZodLiteral<"radio">,
ZodLiteral<"streaming_audio">,
ZodLiteral<"podcast">,
ZodLiteral<"dooh">,
ZodLiteral<"ooh">,
ZodLiteral<"print">,
ZodLiteral<"cinema">,
ZodLiteral<"email">,
ZodLiteral<"gaming">,
ZodLiteral<"retail_media">,
ZodLiteral<"influencer">,
ZodLiteral<"affiliate">,
ZodLiteral<"product_placement">,
ZodLiteral<"sponsored_intelligence">,
],
>,
>,
>,
>;
format_ids: ZodArray<
ZodObject<
{
agent_url: ZodString;
id: ZodString;
width: ZodOptional<ZodNullable<ZodNumber>>;
height: ZodOptional<ZodNullable<ZodNumber>>;
duration_ms: ZodOptional<ZodNullable<ZodNumber>>;
},
$loose,
>,
>;
placements: ZodOptional<
ZodNullable<
ZodArray<
ZodObject<
{
placement_id: ZodString;
name: ZodString;
description: ZodOptional<ZodNullable<ZodString>>;
tags: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
format_ids: ZodOptional<
ZodNullable<ZodArray<ZodObject<(...), (...)>>>,
>;
},
$loose,
>,
>,
>,
>;
delivery_type: ZodUnion<
readonly [ZodLiteral<"guaranteed">, ZodLiteral<"non_guaranteed">],
>;
exclusivity: ZodOptional<
ZodNullable<
ZodUnion<
readonly [
ZodLiteral<"none">,
ZodLiteral<"category">,
ZodLiteral<"exclusive">,
],
>,
>,
>;
pricing_options: ZodArray<
ZodUnion<
readonly [
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpm">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
max_bid: ZodOptional<ZodNullable<ZodBoolean>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"vcpm">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
max_bid: ZodOptional<ZodNullable<ZodBoolean>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpc">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
max_bid: ZodOptional<ZodNullable<ZodBoolean>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpcv">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
max_bid: ZodOptional<ZodNullable<ZodBoolean>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpv">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
max_bid: ZodOptional<ZodNullable<ZodBoolean>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
parameters: ZodObject<
{ view_threshold: ZodUnion<readonly [(...), (...)]> },
$loose,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpp">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
parameters: ZodObject<
{
demographic_system: ZodOptional<ZodNullable<(...)>>;
demographic: ZodString;
min_points: ZodOptional<ZodNullable<(...)>>;
},
$loose,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpa">;
event_type: ZodUnion<
readonly [
ZodLiteral<"page_view">,
ZodLiteral<"view_content">,
ZodLiteral<"select_content">,
ZodLiteral<"select_item">,
ZodLiteral<"search">,
ZodLiteral<"share">,
ZodLiteral<"add_to_cart">,
ZodLiteral<"remove_from_cart">,
ZodLiteral<"viewed_cart">,
ZodLiteral<"add_to_wishlist">,
ZodLiteral<"initiate_checkout">,
ZodLiteral<"add_payment_info">,
ZodLiteral<"purchase">,
ZodLiteral<"refund">,
ZodLiteral<"lead">,
ZodLiteral<"qualify_lead">,
ZodLiteral<"close_convert_lead">,
ZodLiteral<"disqualify_lead">,
ZodLiteral<"complete_registration">,
ZodLiteral<"subscribe">,
ZodLiteral<"start_trial">,
ZodLiteral<"app_install">,
ZodLiteral<"app_launch">,
ZodLiteral<"contact">,
ZodLiteral<"schedule">,
ZodLiteral<"donate">,
ZodLiteral<"submit_application">,
ZodLiteral<"custom">,
],
>;
custom_event_name: ZodOptional<ZodNullable<ZodString>>;
event_source_id: ZodOptional<ZodNullable<ZodString>>;
currency: ZodString;
fixed_price: ZodNumber;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"flat_rate">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
parameters: ZodOptional<
ZodNullable<
ZodObject<
{
type: ...;
sov_percentage: ...;
loop_duration_seconds: ...;
min_plays_per_hour: ...;
venue_package: ...;
duration_hours: ...;
daypart: ...;
estimated_impressions: ...;
},
$loose,
>,
>,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"time">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<ZodNumber>>;
floor_price: ZodOptional<ZodNullable<ZodNumber>>;
price_guidance: ZodOptional<
ZodNullable<
ZodObject<{ p25: ...; p50: ...; p75: ...; p90: ... }, $loose>,
>,
>;
parameters: ZodObject<
{
time_unit: ZodUnion<readonly [(...), (...), (...), (...)]>;
min_duration: ZodOptional<ZodNullable<(...)>>;
max_duration: ZodOptional<ZodNullable<(...)>>;
},
$loose,
>;
min_spend_per_package: ZodOptional<ZodNullable<ZodNumber>>;
price_breakdown: ZodOptional<
ZodNullable<
ZodObject<{ list_price: ...; adjustments: ... }, $loose>,
>,
>;
eligible_adjustments: ZodOptional<
ZodNullable<ZodArray<ZodUnion<(...)>>>,
>;
},
$loose,
>,
],
>,
>;
forecast: ZodOptional<
ZodNullable<
ZodObject<
{
points: ZodArray<
ZodObject<
{
budget: ZodOptional<ZodNullable<(...)>>;
metrics: ZodIntersection<
ZodRecord<(...), (...)>,
ZodObject<(...), (...)>,
>;
},
$loose,
>,
>;
forecast_range_unit: ZodOptional<
ZodNullable<
ZodUnion<
readonly [
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
],
>,
>,
>;
method: ZodUnion<
readonly [
ZodLiteral<"estimate">,
ZodLiteral<"modeled">,
ZodLiteral<"guaranteed">,
],
>;
currency: ZodString;
demographic_system: ZodOptional<
ZodNullable<
ZodUnion<
readonly [
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
],
>,
>,
>;
demographic: ZodOptional<ZodNullable<ZodString>>;
reach_unit: ZodOptional<
ZodNullable<
ZodUnion<
readonly [
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
],
>,
>,
>;
generated_at: ZodOptional<ZodNullable<ZodString>>;
valid_until: ZodOptional<ZodNullable<ZodString>>;
ext: ZodOptional<ZodNullable<ZodObject<{}, $loose>>>;
},
$loose,
>,
>,
>;
outcome_measurement: ZodOptional<
ZodNullable<
ZodObject<
{
type: ZodString;
attribution: ZodString;
window: ZodOptional<
ZodNullable<
ZodObject<{ interval: ZodNumber; unit: ZodUnion<(...)> }, $loose>,
>,
>;
reporting: ZodString;
},
$loose,
>,
>,
>;
delivery_measurement: ZodOptional<
ZodNullable<
ZodObject<
{ provider: ZodString; notes: ZodOptional<ZodNullable<ZodString>> },
$loose,
>,
>,
>;
reporting_capabilities: ZodOptional<
ZodNullable<
ZodObject<
{
available_reporting_frequencies: ZodArray<
ZodUnion<
readonly [
ZodLiteral<"hourly">,
ZodLiteral<"daily">,
ZodLiteral<"monthly">,
],
>,
>;
expected_delay_minutes: ZodNumber;
timezone: ZodString;
supports_webhooks: ZodBoolean;
available_metrics: ZodArray<
ZodUnion<
readonly [
ZodLiteral<"impressions">,
ZodLiteral<"spend">,
ZodLiteral<"clicks">,
ZodLiteral<"ctr">,
ZodLiteral<"video_completions">,
ZodLiteral<"completion_rate">,
ZodLiteral<"conversions">,
ZodLiteral<"conversion_value">,
ZodLiteral<"roas">,
ZodLiteral<"cost_per_acquisition">,
ZodLiteral<"new_to_brand_rate">,
ZodLiteral<"viewability">,
ZodLiteral<"engagement_rate">,
ZodLiteral<"views">,
ZodLiteral<"completed_views">,
ZodLiteral<"leads">,
ZodLiteral<"reach">,
ZodLiteral<"frequency">,
ZodLiteral<"grps">,
ZodLiteral<"quartile_data">,
ZodLiteral<"dooh_metrics">,
ZodLiteral<"cost_per_click">,
],
>,
>;
supports_creative_breakdown: ZodOptional<ZodNullable<ZodBoolean>>;
supports_keyword_breakdown: ZodOptional<ZodNullable<ZodBoolean>>;
supports_geo_breakdown: ZodOptional<
ZodNullable<
ZodObject<
{
country: ZodOptional<(...)>;
region: ZodOptional<(...)>;
metro: ZodOptional<(...)>;
postal_area: ZodOptional<(...)>;
},
$loose,
>,
>,
>;
supports_device_type_breakdown: ZodOptional<ZodNullable<ZodBoolean>>;
supports_device_platform_breakdown: ZodOptional<
ZodNullable<ZodBoolean>,
>;
supports_audience_breakdown: ZodOptional<ZodNullable<ZodBoolean>>;
supports_placement_breakdown: ZodOptional<ZodNullable<ZodBoolean>>;
date_range_support: ZodUnion<
readonly [ZodLiteral<"date_range">, ZodLiteral<"lifetime_only">],
>;
},
$loose,
>,
>,
>;
creative_policy: ZodOptional<
ZodNullable<
ZodObject<
{
co_branding: ZodUnion<
readonly [
ZodLiteral<"required">,
ZodLiteral<"optional">,
ZodLiteral<"none">,
],
>;
landing_page: ZodUnion<
readonly [
ZodLiteral<"any">,
ZodLiteral<"retailer_site_only">,
ZodLiteral<"must_include_retailer">,
],
>;
templates_available: ZodBoolean;
provenance_required: ZodOptional<ZodNullable<ZodBoolean>>;
},
$loose,
>,
>,
>;
is_custom: ZodOptional<ZodNullable<ZodBoolean>>;
property_targeting_allowed: ZodOptional<ZodNullable<ZodBoolean>>;
data_provider_signals: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
ZodObject<
{
data_provider_domain: ZodString;
selection_type: ZodLiteral<"all">;
},
$loose,
>,
ZodObject<
{
data_provider_domain: ZodString;
selection_type: ZodLiteral<"by_id">;
signal_ids: ZodArray<ZodString>;
},
$loose,
>,
ZodObject<
{
data_provider_domain: ZodString;
selection_type: ZodLiteral<"by_tag">;
signal_tags: ZodArray<ZodString>;
},
$loose,
>,
],
>,
>,
>,
>;
signal_targeting_allowed: ZodOptional<ZodNullable<ZodBoolean>>;
catalog_types: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
ZodLiteral<"offering">,
ZodLiteral<"product">,
ZodLiteral<"inventory">,
ZodLiteral<"store">,
ZodLiteral<"promotion">,
ZodLiteral<"hotel">,
ZodLiteral<"flight">,
ZodLiteral<"job">,
ZodLiteral<"vehicle">,
ZodLiteral<"real_estate">,
ZodLiteral<"education">,
ZodLiteral<"destination">,
ZodLiteral<"app">,
],
>,
>,
>,
>;
metric_optimization: ZodOptional<
ZodNullable<
ZodObject<
{
supported_metrics: ZodArray<
ZodUnion<
readonly [
ZodLiteral<"clicks">,
ZodLiteral<"views">,
ZodLiteral<"completed_views">,
ZodLiteral<"viewed_seconds">,
ZodLiteral<"attention_seconds">,
ZodLiteral<"attention_score">,
ZodLiteral<"engagements">,
ZodLiteral<"follows">,
ZodLiteral<"saves">,
ZodLiteral<"profile_visits">,
ZodLiteral<"reach">,
],
>,
>;
supported_reach_units: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<readonly [(...), (...), (...), (...), (...), (...)]>,
>,
>,
>;
supported_view_durations: ZodOptional<
ZodNullable<ZodArray<ZodNumber>>,
>;
supported_targets: ZodOptional<
ZodNullable<ZodArray<ZodUnion<readonly [(...), (...)]>>>,
>;
},
$loose,
>,
>,
>;
max_optimization_goals: ZodOptional<ZodNullable<ZodNumber>>;
measurement_readiness: ZodOptional<
ZodNullable<
ZodObject<
{
status: ZodUnion<
readonly [
ZodLiteral<"insufficient">,
ZodLiteral<"minimum">,
ZodLiteral<"good">,
ZodLiteral<"excellent">,
],
>;
required_event_types: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
],
>,
>,
>,
>;
missing_event_types: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
],
>,
>,
>,
>;
issues: ZodOptional<
ZodNullable<
ZodArray<ZodObject<{ severity: ...; message: ... }, $loose>>,
>,
>;
notes: ZodOptional<ZodNullable<ZodString>>;
},
$loose,
>,
>,
>;
conversion_tracking: ZodOptional<
ZodNullable<
ZodObject<
{
action_sources: ZodOptional<
ZodNullable<
ZodArray<
ZodUnion<
readonly [
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
],
>,
>,
>,
>;
supported_targets: ZodOptional<
ZodNullable<ZodArray<ZodUnion<readonly [(...), (...), (...)]>>>,
>;
platform_managed: ZodOptional<ZodNullable<ZodBoolean>>;
},
$loose,
>,
>,
>;
catalog_match: ZodOptional<
ZodNullable<
ZodObject<
{
matched_gtins: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
matched_ids: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
matched_count: ZodOptional<ZodNullable<ZodNumber>>;
submitted_count: ZodNumber;
},
$loose,
>,
>,
>;
brief_relevance: ZodOptional<ZodNullable<ZodString>>;
expires_at: ZodOptional<ZodNullable<ZodString>>;
product_card: ZodOptional<
ZodNullable<
ZodObject<
{
format_id: ZodObject<
{
agent_url: ZodString;
id: ZodString;
width: ZodOptional<ZodNullable<ZodNumber>>;
height: ZodOptional<ZodNullable<ZodNumber>>;
duration_ms: ZodOptional<ZodNullable<ZodNumber>>;
},
$loose,
>;
manifest: ZodObject<{}, $loose>;
},
$loose,
>,
>,
>;
product_card_detailed: ZodOptional<
ZodNullable<
ZodObject<
{
format_id: ZodObject<
{
agent_url: ZodString;
id: ZodString;
width: ZodOptional<ZodNullable<ZodNumber>>;
height: ZodOptional<ZodNullable<ZodNumber>>;
duration_ms: ZodOptional<ZodNullable<ZodNumber>>;
},
$loose,
>;
manifest: ZodObject<{}, $loose>;
},
$loose,
>,
>,
>;
collections: ZodOptional<
ZodNullable<
ZodArray<
ZodObject<
{
publisher_domain: ZodString;
collection_ids: ZodArray<ZodString>;
},
$loose,
>,
>,
>,
>;
collection_targeting_allowed: ZodOptional<ZodNullable<ZodBoolean>>;
installments: ZodOptional<
ZodNullable<
ZodArray<
ZodObject<
{
installment_id: ZodString;
collection_id: ZodOptional<ZodNullable<ZodString>>;
name: ZodOptional<ZodNullable<ZodString>>;
season: ZodOptional<ZodNullable<ZodString>>;
installment_number: ZodOptional<ZodNullable<ZodString>>;
scheduled_at: ZodOptional<ZodNullable<ZodString>>;
status: ZodOptional<
ZodNullable<
ZodUnion<
readonly [(...), (...), (...), (...), (...), (...), (...)],
>,
>,
>;
duration_seconds: ZodOptional<ZodNullable<ZodNumber>>;
flexible_end: ZodOptional<ZodNullable<ZodBoolean>>;
valid_until: ZodOptional<ZodNullable<ZodString>>;
content_rating: ZodOptional<
ZodNullable<ZodObject<{ system: ...; rating: ... }, $loose>>,
>;
topics: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
special: ZodOptional<
ZodNullable<
ZodObject<
{ name: ...; category: ...; starts: ...; ends: ... },
$loose,
>,
>,
>;
guest_talent: ZodOptional<
ZodNullable<ZodArray<ZodObject<(...), (...)>>>,
>;
ad_inventory: ZodOptional<
ZodNullable<
ZodObject<
{
expected_breaks: ...;
total_ad_seconds: ...;
max_ad_duration_seconds: ...;
unplanned_breaks: ...;
supported_formats: ...;
},
$loose,
>,
>,
>;
deadlines: ZodOptional<
ZodNullable<
ZodObject<
{
booking_deadline: ...;
cancellation_deadline: ...;
material_deadlines: ...;
},
$loose,
>,
>,
>;
derivative_of: ZodOptional<
ZodNullable<
ZodObject<{ installment_id: ...; type: ... }, $loose>,
>,
>;
ext: ZodOptional<ZodNullable<ZodObject<{}, $loose>>>;
},
$loose,
>,
>,
>,
>;
enforced_policies: ZodOptional<ZodNullable<ZodArray<ZodString>>>;
trusted_match: ZodOptional<
ZodNullable<
ZodObject<
{
context_match: ZodBoolean;
identity_match: ZodOptional<ZodNullable<ZodBoolean>>;
response_types: ZodOptional<
ZodNullable<
ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
>,
>;
dynamic_brands: ZodOptional<ZodNullable<ZodBoolean>>;
providers: ZodOptional<
ZodNullable<
ZodArray<
ZodObject<
{ agent_url: ...; context_match: ...; identity_match: ... },
$loose,
>,
>,
>,
>;
},
$loose,
>,
>,
>;
material_submission: ZodOptional<
ZodNullable<
ZodObject<
{
url: ZodOptional<ZodNullable<ZodString>>;
email: ZodOptional<ZodNullable<ZodString>>;
instructions: ZodOptional<ZodNullable<ZodString>>;
ext: ZodOptional<ZodNullable<ZodObject<{}, $loose>>>;
},
$loose,
>,
>,
>;
ext: ZodOptional<ZodNullable<ZodObject<{}, $loose>>>;
},
$loose,
> = ...