Variable ProductSchemaConst
ProductSchema: ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
product_id: ZodString;
name: ZodString;
description: ZodString;
publisher_properties: ZodArray<
ZodUnion<
readonly [
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
publisher_domain: ZodString;
selection_type: ZodLiteral<"all">;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
publisher_domain: ZodString;
selection_type: ZodLiteral<"by_id">;
property_ids: ZodArray<ZodString>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
publisher_domain: ZodString;
selection_type: ZodLiteral<"by_tag">;
property_tags: ZodArray<ZodString>;
},
$strip,
>,
>,
],
>,
>;
format_ids: ZodArray<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
agent_url: ZodString;
id: ZodString;
width: ZodOptional<ZodNullable<ZodNumber>>;
height: ZodOptional<ZodNullable<ZodNumber>>;
duration_ms: ZodOptional<ZodNullable<ZodNumber>>;
},
$strip,
>,
>,
>;
placements: ZodOptional<
ZodNullable<
ZodArray<
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
placement_id: ZodString;
name: ZodString;
description: ZodOptional<ZodNullable<(...)>>;
format_ids: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
>,
>,
>;
delivery_type: ZodUnion<
readonly [ZodLiteral<"guaranteed">, ZodLiteral<"non_guaranteed">],
>;
pricing_options: ZodArray<
ZodUnion<
readonly [
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpm">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"vcpm">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpc">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpcv">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpv">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
parameters: ZodIntersection<
ZodRecord<(...), (...)>,
ZodObject<(...), (...)>,
>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"cpp">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
parameters: ZodIntersection<
ZodRecord<(...), (...)>,
ZodObject<(...), (...)>,
>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
ZodIntersection<
ZodRecord<
ZodString,
ZodUnion<readonly [ZodUnknown, ZodUndefined]>,
>,
ZodObject<
{
pricing_option_id: ZodString;
pricing_model: ZodLiteral<"flat_rate">;
currency: ZodString;
fixed_price: ZodOptional<ZodNullable<(...)>>;
floor_price: ZodOptional<ZodNullable<(...)>>;
price_guidance: ZodOptional<ZodNullable<(...)>>;
parameters: ZodOptional<ZodNullable<(...)>>;
min_spend_per_package: ZodOptional<ZodNullable<(...)>>;
},
$strip,
>,
>,
],
>,
>;
estimated_exposures: ZodOptional<ZodNullable<ZodNumber>>;
measurement: ZodOptional<
ZodNullable<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
type: ZodString;
attribution: ZodString;
window: ZodOptional<ZodNullable<ZodString>>;
reporting: ZodString;
},
$strip,
>,
>,
>,
>;
delivery_measurement: ZodObject<
{ provider: ZodString; notes: ZodOptional<ZodNullable<ZodString>> },
$strip,
>;
reporting_capabilities: ZodOptional<
ZodNullable<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
available_reporting_frequencies: ZodArray<
ZodUnion<readonly [(...), (...), (...)]>,
>;
expected_delay_minutes: ZodNumber;
timezone: ZodString;
supports_webhooks: ZodBoolean;
available_metrics: ZodArray<
ZodUnion<
readonly [
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
(...),
],
>,
>;
},
$strip,
>,
>,
>,
>;
creative_policy: ZodOptional<
ZodNullable<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
co_branding: ZodUnion<
readonly [
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
],
>;
landing_page: ZodUnion<
readonly [
ZodLiteral<(...)>,
ZodLiteral<(...)>,
ZodLiteral<(...)>,
],
>;
templates_available: ZodBoolean;
},
$strip,
>,
>,
>,
>;
is_custom: ZodOptional<ZodNullable<ZodBoolean>>;
property_targeting_allowed: ZodOptional<ZodNullable<ZodBoolean>>;
brief_relevance: ZodOptional<ZodNullable<ZodString>>;
expires_at: ZodOptional<ZodNullable<ZodString>>;
product_card: ZodOptional<
ZodNullable<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
format_id: ZodIntersection<
ZodRecord<ZodString, ZodUnion<(...)>>,
ZodObject<
{
agent_url: ...;
id: ...;
width: ...;
height: ...;
duration_ms: ...;
},
$strip,
>,
>;
manifest: ZodRecord<ZodString, ZodUnion<readonly [(...), (...)]>>;
},
$strip,
>,
>,
>,
>;
product_card_detailed: ZodOptional<
ZodNullable<
ZodIntersection<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
ZodObject<
{
format_id: ZodIntersection<
ZodRecord<ZodString, ZodUnion<(...)>>,
ZodObject<
{
agent_url: ...;
id: ...;
width: ...;
height: ...;
duration_ms: ...;
},
$strip,
>,
>;
manifest: ZodRecord<ZodString, ZodUnion<readonly [(...), (...)]>>;
},
$strip,
>,
>,
>,
>;
ext: ZodOptional<
ZodNullable<
ZodRecord<ZodString, ZodUnion<readonly [ZodUnknown, ZodUndefined]>>,
>,
>;
},
$strip,
>,
> = ...