@adcp/sdk API Reference - v7.9.0
    Preparing search index...

    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<
                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<ZodNumber>;
                        height: ZodOptional<ZodNumber>;
                        duration_ms: ZodOptional<ZodNumber>;
                    },
                    $loose,
                >,
            >;
            placements: ZodOptional<
                ZodArray<
                    ZodObject<
                        {
                            placement_id: ZodString;
                            name: ZodString;
                            description: ZodOptional<ZodString>;
                            tags: ZodOptional<ZodArray<ZodString>>;
                            format_ids: ZodOptional<
                                ZodArray<
                                    ZodObject<
                                        {
                                            agent_url: ZodString;
                                            id: ZodString;
                                            width: ZodOptional<(...)>;
                                            height: ZodOptional<(...)>;
                                            duration_ms: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >,
                            >;
                        },
                        $loose,
                    >,
                >,
            >;
            delivery_type: ZodUnion<
                readonly [ZodLiteral<"guaranteed">, ZodLiteral<"non_guaranteed">],
            >;
            exclusivity: ZodOptional<
                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<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                max_bid: ZodOptional<ZodBoolean>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"vcpm">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                max_bid: ZodOptional<ZodBoolean>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"cpc">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                max_bid: ZodOptional<ZodBoolean>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"cpcv">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                max_bid: ZodOptional<ZodBoolean>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"cpv">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                max_bid: ZodOptional<ZodBoolean>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                parameters: ZodObject<
                                    { view_threshold: ZodUnion<readonly [(...), (...)]> },
                                    $loose,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"cpp">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                parameters: ZodObject<
                                    {
                                        demographic_system: ZodOptional<ZodUnion<(...)>>;
                                        demographic: ZodString;
                                        min_points: ZodOptional<ZodNumber>;
                                    },
                                    $loose,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $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<ZodString>;
                                event_source_id: ZodOptional<ZodString>;
                                currency: ZodString;
                                fixed_price: ZodNumber;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"flat_rate">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                parameters: ZodOptional<
                                    ZodObject<
                                        {
                                            type: ZodLiteral<(...)>;
                                            sov_percentage: ZodOptional<(...)>;
                                            loop_duration_seconds: ZodOptional<(...)>;
                                            min_plays_per_hour: ZodOptional<(...)>;
                                            venue_package: ZodOptional<(...)>;
                                            duration_hours: ZodOptional<(...)>;
                                            daypart: ZodOptional<(...)>;
                                            estimated_impressions: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                        ZodObject<
                            {
                                pricing_option_id: ZodString;
                                pricing_model: ZodLiteral<"time">;
                                currency: ZodString;
                                fixed_price: ZodOptional<ZodNumber>;
                                floor_price: ZodOptional<ZodNumber>;
                                price_guidance: ZodOptional<
                                    ZodObject<
                                        {
                                            p25: ZodOptional<(...)>;
                                            p50: ZodOptional<(...)>;
                                            p75: ZodOptional<(...)>;
                                            p90: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >;
                                parameters: ZodObject<
                                    {
                                        time_unit: ZodUnion<readonly [(...), (...), (...), (...)]>;
                                        min_duration: ZodOptional<ZodNumber>;
                                        max_duration: ZodOptional<ZodNumber>;
                                    },
                                    $loose,
                                >;
                                min_spend_per_package: ZodOptional<ZodNumber>;
                                price_breakdown: ZodOptional<
                                    ZodObject<
                                        { list_price: ZodNumber; adjustments: ZodArray<(...)> },
                                        $loose,
                                    >,
                                >;
                                eligible_adjustments: ZodOptional<
                                    ZodArray<ZodUnion<readonly [(...), (...), (...), (...)]>>,
                                >;
                            },
                            $loose,
                        >,
                    ],
                >,
            >;
            forecast: ZodOptional<
                ZodObject<
                    {
                        points: ZodArray<
                            ZodObject<
                                {
                                    label: ZodOptional<ZodString>;
                                    budget: ZodOptional<ZodNumber>;
                                    metrics: ZodIntersection<
                                        ZodRecord<ZodString, ZodObject<(...), (...)>>,
                                        ZodObject<
                                            {
                                                audience_size: ...;
                                                reach: ...;
                                                frequency: ...;
                                                impressions: ...;
                                                clicks: ...;
                                                spend: ...;
                                                views: ...;
                                                completed_views: ...;
                                                grps: ...;
                                                engagements: ...;
                                                follows: ...;
                                                saves: ...;
                                                profile_visits: ...;
                                                measured_impressions: ...;
                                                downloads: ...;
                                                plays: ...;
                                            },
                                            $loose,
                                        >,
                                    >;
                                },
                                $loose,
                            >,
                        >;
                        forecast_range_unit: ZodOptional<
                            ZodUnion<
                                readonly [
                                    ZodLiteral<"spend">,
                                    ZodLiteral<"availability">,
                                    ZodLiteral<"reach_freq">,
                                    ZodLiteral<"weekly">,
                                    ZodLiteral<"daily">,
                                    ZodLiteral<"clicks">,
                                    ZodLiteral<"conversions">,
                                    ZodLiteral<"package">,
                                ],
                            >,
                        >;
                        method: ZodUnion<
                            readonly [
                                ZodLiteral<"estimate">,
                                ZodLiteral<"modeled">,
                                ZodLiteral<"guaranteed">,
                            ],
                        >;
                        currency: ZodString;
                        demographic_system: ZodOptional<
                            ZodUnion<
                                readonly [
                                    ZodLiteral<"nielsen">,
                                    ZodLiteral<"barb">,
                                    ZodLiteral<"agf">,
                                    ZodLiteral<"oztam">,
                                    ZodLiteral<"mediametrie">,
                                    ZodLiteral<"custom">,
                                ],
                            >,
                        >;
                        demographic: ZodOptional<ZodString>;
                        measurement_source: ZodOptional<ZodString>;
                        reach_unit: ZodOptional<
                            ZodUnion<
                                readonly [
                                    ZodLiteral<"individuals">,
                                    ZodLiteral<"households">,
                                    ZodLiteral<"devices">,
                                    ZodLiteral<"accounts">,
                                    ZodLiteral<"cookies">,
                                    ZodLiteral<"custom">,
                                ],
                            >,
                        >;
                        generated_at: ZodOptional<ZodISODateTime>;
                        valid_until: ZodOptional<ZodISODateTime>;
                        ext: ZodOptional<ZodObject<{}, $loose>>;
                    },
                    $loose,
                >,
            >;
            outcome_measurement: ZodOptional<
                ZodObject<
                    {
                        type: ZodString;
                        attribution: ZodString;
                        window: ZodOptional<
                            ZodObject<
                                {
                                    interval: ZodNumber;
                                    unit: ZodUnion<
                                        readonly [
                                            ZodLiteral<(...)>,
                                            ZodLiteral<(...)>,
                                            ZodLiteral<(...)>,
                                            ZodLiteral<(...)>,
                                            ZodLiteral<(...)>,
                                        ],
                                    >;
                                },
                                $loose,
                            >,
                        >;
                        reporting: ZodString;
                    },
                    $loose,
                >,
            >;
            delivery_measurement: ZodOptional<
                ZodObject<
                    { provider: ZodString; notes: ZodOptional<ZodString> },
                    $loose,
                >,
            >;
            measurement_terms: ZodOptional<
                ZodObject<
                    {
                        billing_measurement: ZodOptional<
                            ZodObject<
                                {
                                    vendor: ZodObject<
                                        {
                                            domain: ZodString;
                                            brand_id: ZodOptional<(...)>;
                                            industries: ZodOptional<(...)>;
                                            data_subject_contestation: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >;
                                    max_variance_percent: ZodOptional<ZodNumber>;
                                    measurement_window: ZodOptional<ZodString>;
                                },
                                $loose,
                            >,
                        >;
                        makegood_policy: ZodOptional<
                            ZodObject<
                                {
                                    available_remedies: ZodArray<
                                        ZodUnion<readonly [(...), (...), (...)]>,
                                    >;
                                },
                                $loose,
                            >,
                        >;
                    },
                    $loose,
                >,
            >;
            performance_standards: ZodOptional<
                ZodArray<
                    ZodObject<
                        {
                            metric: ZodUnion<
                                readonly [
                                    ZodLiteral<"viewability">,
                                    ZodLiteral<"ivt">,
                                    ZodLiteral<"completion_rate">,
                                    ZodLiteral<"brand_safety">,
                                    ZodLiteral<"attention_score">,
                                ],
                            >;
                            threshold: ZodNumber;
                            standard: ZodOptional<
                                ZodUnion<readonly [ZodLiteral<"mrc">, ZodLiteral<"groupm">]>,
                            >;
                            vendor: ZodObject<
                                {
                                    domain: ZodString;
                                    brand_id: ZodOptional<ZodString>;
                                    industries: ZodOptional<ZodArray<ZodString>>;
                                    data_subject_contestation: ZodOptional<
                                        ZodRecord<ZodString, ZodUnknown>,
                                    >;
                                },
                                $loose,
                            >;
                        },
                        $loose,
                    >,
                >,
            >;
            cancellation_policy: ZodOptional<
                ZodObject<
                    {
                        notice_period: ZodObject<
                            {
                                interval: ZodNumber;
                                unit: ZodUnion<
                                    readonly [
                                        ZodLiteral<"seconds">,
                                        ZodLiteral<"minutes">,
                                        ZodLiteral<"hours">,
                                        ZodLiteral<"days">,
                                        ZodLiteral<"campaign">,
                                    ],
                                >;
                            },
                            $loose,
                        >;
                        cancellation_fee: ZodObject<
                            {
                                type: ZodUnion<
                                    readonly [
                                        ZodLiteral<"percent_remaining">,
                                        ZodLiteral<"full_commitment">,
                                        ZodLiteral<"fixed_fee">,
                                        ZodLiteral<"none">,
                                    ],
                                >;
                                rate: ZodOptional<ZodNumber>;
                                amount: ZodOptional<ZodNumber>;
                            },
                            $loose,
                        >;
                    },
                    $loose,
                >,
            >;
            reporting_capabilities: 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<ZodBoolean>;
                    supports_keyword_breakdown: ZodOptional<ZodBoolean>;
                    supports_geo_breakdown: ZodOptional<
                        ZodObject<
                            {
                                country: ZodOptional<ZodBoolean>;
                                region: ZodOptional<ZodBoolean>;
                                metro: ZodOptional<ZodRecord<ZodString, ZodBoolean>>;
                                postal_area: ZodOptional<ZodRecord<ZodString, ZodBoolean>>;
                            },
                            $loose,
                        >,
                    >;
                    supports_device_type_breakdown: ZodOptional<ZodBoolean>;
                    supports_device_platform_breakdown: ZodOptional<ZodBoolean>;
                    supports_audience_breakdown: ZodOptional<ZodBoolean>;
                    supports_placement_breakdown: ZodOptional<ZodBoolean>;
                    date_range_support: ZodUnion<
                        readonly [ZodLiteral<"date_range">, ZodLiteral<"lifetime_only">],
                    >;
                    measurement_windows: ZodOptional<
                        ZodArray<
                            ZodObject<
                                {
                                    window_id: ZodString;
                                    description: ZodOptional<ZodString>;
                                    duration_days: ZodNumber;
                                    expected_availability_days: ZodOptional<ZodNumber>;
                                    is_guarantee_basis: ZodOptional<ZodBoolean>;
                                },
                                $loose,
                            >,
                        >,
                    >;
                },
                $loose,
            >;
            creative_policy: ZodOptional<
                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<ZodBoolean>;
                    },
                    $loose,
                >,
            >;
            is_custom: ZodOptional<ZodBoolean>;
            property_targeting_allowed: ZodOptional<ZodBoolean>;
            data_provider_signals: ZodOptional<
                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<ZodBoolean>;
            catalog_types: ZodOptional<
                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<
                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<
                            ZodArray<
                                ZodUnion<
                                    readonly [
                                        ZodLiteral<"individuals">,
                                        ZodLiteral<"households">,
                                        ZodLiteral<"devices">,
                                        ZodLiteral<"accounts">,
                                        ZodLiteral<"cookies">,
                                        ZodLiteral<"custom">,
                                    ],
                                >,
                            >,
                        >;
                        supported_view_durations: ZodOptional<ZodArray<ZodNumber>>;
                        supported_targets: ZodOptional<
                            ZodArray<
                                ZodUnion<
                                    readonly [ZodLiteral<"cost_per">, ZodLiteral<"threshold_rate">],
                                >,
                            >,
                        >;
                    },
                    $loose,
                >,
            >;
            max_optimization_goals: ZodOptional<ZodNumber>;
            measurement_readiness: ZodOptional<
                ZodObject<
                    {
                        status: ZodUnion<
                            readonly [
                                ZodLiteral<"insufficient">,
                                ZodLiteral<"minimum">,
                                ZodLiteral<"good">,
                                ZodLiteral<"excellent">,
                            ],
                        >;
                        required_event_types: ZodOptional<
                            ZodArray<
                                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">,
                                    ],
                                >,
                            >,
                        >;
                        missing_event_types: ZodOptional<
                            ZodArray<
                                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">,
                                    ],
                                >,
                            >,
                        >;
                        issues: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    {
                                        severity: ZodUnion<readonly [(...), (...), (...)]>;
                                        message: ZodString;
                                    },
                                    $loose,
                                >,
                            >,
                        >;
                        notes: ZodOptional<ZodString>;
                    },
                    $loose,
                >,
            >;
            conversion_tracking: ZodOptional<
                ZodObject<
                    {
                        action_sources: ZodOptional<
                            ZodArray<
                                ZodUnion<
                                    readonly [
                                        ZodLiteral<"website">,
                                        ZodLiteral<"app">,
                                        ZodLiteral<"offline">,
                                        ZodLiteral<"phone_call">,
                                        ZodLiteral<"chat">,
                                        ZodLiteral<"email">,
                                        ZodLiteral<"in_store">,
                                        ZodLiteral<"system_generated">,
                                        ZodLiteral<"other">,
                                    ],
                                >,
                            >,
                        >;
                        supported_targets: ZodOptional<
                            ZodArray<
                                ZodUnion<
                                    readonly [
                                        ZodLiteral<"cost_per">,
                                        ZodLiteral<"per_ad_spend">,
                                        ZodLiteral<"maximize_value">,
                                    ],
                                >,
                            >,
                        >;
                        platform_managed: ZodOptional<ZodBoolean>;
                    },
                    $loose,
                >,
            >;
            catalog_match: ZodOptional<
                ZodObject<
                    {
                        matched_gtins: ZodOptional<ZodArray<ZodString>>;
                        matched_ids: ZodOptional<ZodArray<ZodString>>;
                        matched_count: ZodOptional<ZodNumber>;
                        submitted_count: ZodNumber;
                    },
                    $loose,
                >,
            >;
            brief_relevance: ZodOptional<ZodString>;
            expires_at: ZodOptional<ZodISODateTime>;
            product_card: ZodOptional<
                ZodObject<
                    {
                        format_id: ZodObject<
                            {
                                agent_url: ZodString;
                                id: ZodString;
                                width: ZodOptional<ZodNumber>;
                                height: ZodOptional<ZodNumber>;
                                duration_ms: ZodOptional<ZodNumber>;
                            },
                            $loose,
                        >;
                        manifest: ZodObject<{}, $loose>;
                    },
                    $loose,
                >,
            >;
            product_card_detailed: ZodOptional<
                ZodObject<
                    {
                        format_id: ZodObject<
                            {
                                agent_url: ZodString;
                                id: ZodString;
                                width: ZodOptional<ZodNumber>;
                                height: ZodOptional<ZodNumber>;
                                duration_ms: ZodOptional<ZodNumber>;
                            },
                            $loose,
                        >;
                        manifest: ZodObject<{}, $loose>;
                    },
                    $loose,
                >,
            >;
            collections: ZodOptional<
                ZodArray<
                    ZodObject<
                        { publisher_domain: ZodString; collection_ids: ZodArray<ZodString> },
                        $loose,
                    >,
                >,
            >;
            collection_targeting_allowed: ZodOptional<ZodBoolean>;
            installments: ZodOptional<
                ZodArray<
                    ZodObject<
                        {
                            installment_id: ZodString;
                            collection_id: ZodOptional<ZodString>;
                            name: ZodOptional<ZodString>;
                            season: ZodOptional<ZodString>;
                            installment_number: ZodOptional<ZodString>;
                            scheduled_at: ZodOptional<ZodISODateTime>;
                            status: ZodOptional<
                                ZodUnion<
                                    readonly [
                                        ZodLiteral<"scheduled">,
                                        ZodLiteral<"tentative">,
                                        ZodLiteral<"live">,
                                        ZodLiteral<"postponed">,
                                        ZodLiteral<"cancelled">,
                                        ZodLiteral<"aired">,
                                        ZodLiteral<"published">,
                                    ],
                                >,
                            >;
                            duration_seconds: ZodOptional<ZodNumber>;
                            flexible_end: ZodOptional<ZodBoolean>;
                            valid_until: ZodOptional<ZodISODateTime>;
                            content_rating: ZodOptional<
                                ZodObject<
                                    {
                                        system: ZodUnion<
                                            readonly [
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                                (...),
                                            ],
                                        >;
                                        rating: ZodString;
                                    },
                                    $loose,
                                >,
                            >;
                            topics: ZodOptional<ZodArray<ZodString>>;
                            special: ZodOptional<
                                ZodObject<
                                    {
                                        name: ZodString;
                                        category: ZodOptional<ZodUnion<(...)>>;
                                        starts: ZodOptional<ZodISODateTime>;
                                        ends: ZodOptional<ZodISODateTime>;
                                    },
                                    $loose,
                                >,
                            >;
                            guest_talent: ZodOptional<
                                ZodArray<
                                    ZodObject<
                                        {
                                            role: ZodUnion<(...)>;
                                            name: ZodString;
                                            brand_url: ZodOptional<(...)>;
                                        },
                                        $loose,
                                    >,
                                >,
                            >;
                            ad_inventory: ZodOptional<
                                ZodObject<
                                    {
                                        expected_breaks: ZodNumber;
                                        total_ad_seconds: ZodOptional<ZodNumber>;
                                        max_ad_duration_seconds: ZodOptional<ZodNumber>;
                                        unplanned_breaks: ZodOptional<ZodBoolean>;
                                        supported_formats: ZodOptional<ZodArray<(...)>>;
                                    },
                                    $loose,
                                >,
                            >;
                            deadlines: ZodOptional<
                                ZodObject<
                                    {
                                        booking_deadline: ZodOptional<ZodISODateTime>;
                                        cancellation_deadline: ZodOptional<ZodISODateTime>;
                                        material_deadlines: ZodOptional<ZodArray<(...)>>;
                                    },
                                    $loose,
                                >,
                            >;
                            derivative_of: ZodOptional<
                                ZodObject<
                                    {
                                        installment_id: ZodString;
                                        type: ZodUnion<readonly [(...), (...), (...), (...), (...)]>;
                                    },
                                    $loose,
                                >,
                            >;
                            ext: ZodOptional<ZodObject<{}, $loose>>;
                        },
                        $loose,
                    >,
                >,
            >;
            enforced_policies: ZodOptional<ZodArray<ZodString>>;
            trusted_match: ZodOptional<
                ZodObject<
                    {
                        context_match: ZodBoolean;
                        identity_match: ZodOptional<ZodBoolean>;
                        response_types: ZodOptional<
                            ZodArray<
                                ZodUnion<
                                    readonly [
                                        ZodLiteral<"activation">,
                                        ZodLiteral<"catalog_items">,
                                        ZodLiteral<"creative">,
                                        ZodLiteral<"deal">,
                                    ],
                                >,
                            >,
                        >;
                        dynamic_brands: ZodOptional<ZodBoolean>;
                        providers: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    {
                                        agent_url: ZodString;
                                        context_match: ZodOptional<ZodBoolean>;
                                        identity_match: ZodOptional<ZodBoolean>;
                                        countries: ZodOptional<ZodArray<(...)>>;
                                        uid_types: ZodOptional<ZodArray<(...)>>;
                                    },
                                    $loose,
                                >,
                            >,
                        >;
                    },
                    $loose,
                >,
            >;
            material_submission: ZodOptional<
                ZodObject<
                    {
                        url: ZodOptional<ZodString>;
                        email: ZodOptional<ZodEmail>;
                        instructions: ZodOptional<ZodString>;
                        ext: ZodOptional<ZodObject<{}, $loose>>;
                    },
                    $loose,
                >,
            >;
            ext: ZodOptional<ZodObject<{}, $loose>>;
        },
        $loose,
    > = ...