@adcp/sdk API Reference - v10.0.1
    Preparing search index...

    Function buildCreativeMultiResponse

    • Parameters

      • data: {
            creative_manifests: (
                | {
                    format_id: {
                        agent_url: string;
                        id: string;
                        width?: number;
                        height?: number;
                        duration_ms?: number;
                    };
                    format_kind?: CanonicalFormatKind;
                    format_option_ref?: | {
                        scope: "publisher";
                        publisher_domain: string;
                        format_option_id: string;
                    }
                    | {
                        scope: "product";
                        format_option_id: string;
                        publisher_domain?: undefined;
                    };
                    assets: Omit<
                        Omit<
                            {
                                [key: string]: | {
                                    asset_type: "image";
                                    url: string;
                                    width: number;
                                    height: number;
                                    format?: (...)
                                    | (...);
                                    alt_text?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "video";
                                    url: string;
                                    width: number;
                                    height: number;
                                    duration_ms?: (...)
                                    | (...);
                                    file_size_bytes?: (...) | (...);
                                    container_format?: (...) | (...);
                                    video_codec?: (...) | (...);
                                    video_bitrate_kbps?: (...) | (...);
                                    frame_rate?: (...) | (...);
                                    frame_rate_type?: (...) | (...);
                                    scan_type?: (...) | (...);
                                    color_space?: (...) | (...) | (...) | (...) | (...) | (...);
                                    hdr_format?: (...) | (...) | (...) | (...) | (...) | (...);
                                    chroma_subsampling?: (...) | (...) | (...) | (...);
                                    video_bit_depth?: (...) | (...) | (...) | (...);
                                    gop_interval_seconds?: (...) | (...);
                                    gop_type?: (...) | (...);
                                    moov_atom_position?: (...) | (...);
                                    has_audio?: (...) | (...) | (...);
                                    audio_codec?: (...) | (...);
                                    audio_sampling_rate_hz?: (...) | (...);
                                    audio_channels?: (...) | (...);
                                    audio_bit_depth?: (...) | (...) | (...) | (...);
                                    audio_bitrate_kbps?: (...) | (...);
                                    audio_loudness_lufs?: (...) | (...);
                                    audio_true_peak_dbfs?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    transcript_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "audio";
                                    url: string;
                                    duration_ms?: (...)
                                    | (...);
                                    file_size_bytes?: (...) | (...);
                                    container_format?: (...) | (...);
                                    codec?: (...) | (...);
                                    sampling_rate_hz?: (...) | (...);
                                    channels?: (...) | (...);
                                    bit_depth?: (...) | (...) | (...) | (...);
                                    bitrate_kbps?: (...) | (...);
                                    loudness_lufs?: (...) | (...);
                                    true_peak_dbfs?: (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "vast";
                                    vast_version?: (...)
                                    | (...);
                                    vpaid_enabled?: (...) | (...) | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "url";
                                    url: string;
                                }
                                | {
                                    asset_type: "vast";
                                    vast_version?: (...)
                                    | (...);
                                    vpaid_enabled?: (...) | (...) | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "inline";
                                    content: string;
                                }
                                | {
                                    asset_type: "text";
                                    content: string;
                                    language?: (...)
                                    | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "url";
                                    url: string;
                                    url_type?: (...)
                                    | (...);
                                    description?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "html";
                                    content: string;
                                    version?: (...)
                                    | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "javascript";
                                    content: string;
                                    module_type?: (...)
                                    | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "zip";
                                    url: string;
                                    max_file_size_kb?: (...)
                                    | (...);
                                    entry_point?: (...) | (...);
                                    allowed_inner_extensions?: (...) | (...);
                                    backup_image_url?: (...) | (...);
                                    digest?: (...) | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "webhook";
                                    url: string;
                                    method?: (...)
                                    | (...);
                                    timeout_ms?: (...) | (...);
                                    supported_macros?: (...) | (...);
                                    required_macros?: (...) | (...);
                                    response_type: WebhookResponseType;
                                    security: { method: ...; hmac_header?: ...; api_key_header?: ... };
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "css";
                                    content: string;
                                    media?: (...)
                                    | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "daast";
                                    daast_version?: (...)
                                    | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    companion_ads?: (...) | (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "url";
                                    url: string;
                                }
                                | {
                                    asset_type: "daast";
                                    daast_version?: (...)
                                    | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    companion_ads?: (...) | (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "inline";
                                    content: string;
                                }
                                | {
                                    asset_type: "markdown";
                                    content: string;
                                    language?: (...)
                                    | (...);
                                    markdown_flavor?: (...) | (...);
                                    allow_raw_html?: (...) | (...) | (...);
                                }
                                | {
                                    name: string;
                                    objective?: (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                    tone?: (...) | (...);
                                    audience?: (...) | (...);
                                    territory?: (...) | (...);
                                    messaging?: (...) | (...);
                                    reference_assets?: (...) | (...);
                                    compliance?: (...) | (...);
                                    asset_type: "brief";
                                }
                                | {
                                    catalog_id?: (...)
                                    | (...);
                                    name?: (...) | (...);
                                    type: CatalogType;
                                    url?: (...) | (...);
                                    feed_format?: (...) | (...);
                                    update_frequency?: (...) | (...);
                                    items?: (...) | (...);
                                    ids?: (...) | (...);
                                    gtins?: (...) | (...);
                                    tags?: (...) | (...);
                                    category?: (...) | (...);
                                    query?: (...) | (...);
                                    conversion_events?: (...) | (...);
                                    content_id_type?: (...) | (...);
                                    feed_field_mappings?: (...) | (...);
                                    asset_type: "catalog";
                                }
                                | {
                                    asset_type: "published_post";
                                    post_url?: (...)
                                    | (...);
                                    platform?: (...) | (...);
                                    platform_post_id?: (...) | (...);
                                    identity_ref?: (...) | (...);
                                    published_at?: (...) | (...);
                                    reference_authorization?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "card";
                                    media: (...)
                                    | (...);
                                    headline?: (...) | (...);
                                    description?: (...) | (...);
                                    cta?: (...) | (...);
                                    landing_page_url?: (...) | (...);
                                    platform_extensions?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "pixel_tracker";
                                    event: (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                    method?: (...) | (...) | (...);
                                    url: string;
                                    custom_event_name?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "vast_tracker";
                                    vast_event: VASTTrackingEvent;
                                    url: string;
                                    offset?: (...)
                                    | (...);
                                    target?: (...) | (...) | (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "daast_tracker";
                                    daast_event: DAASTTrackingEvent;
                                    url: string;
                                    offset?: (...)
                                    | (...);
                                    target?: (...) | (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | (
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                )[];
                            },
                            "bank",
                        >,
                        "authentication",
                    > & { authentication?: unknown };
                    brand?: {
                        domain: string;
                        brand_id?: string;
                        industries?: string[];
                        data_subject_contestation?: {
                            url?: string;
                            email?: string;
                            languages?: string[];
                        };
                        brand_kit_override?: {
                            logo?: {
                                asset_type: "image";
                                url: string;
                                width: number;
                                height: number;
                                format?: (...)
                                | (...);
                                alt_text?: (...) | (...);
                                provenance?: (...) | (...);
                            };
                            colors?: {
                                primary?: (...)
                                | (...);
                                secondary?: (...) | (...);
                                accent?: (...) | (...);
                            };
                            voice?: string;
                            tagline?: string;
                        };
                    };
                    rights?: {
                        rights_id: string;
                        rights_agent: { url: string; id: string };
                        valid_from?: string;
                        valid_until?: string;
                        uses: RightUse[];
                        countries?: string[];
                        excluded_countries?: string[];
                        impression_cap?: number;
                        right_type?: RightType;
                        approval_status?: "rejected" | "approved" | "pending";
                        verification_url?: string;
                        ext?: Omit<Omit<(...), (...)>, "authentication"> & {
                            authentication?: unknown;
                        };
                    }[];
                    industry_identifiers?: { type: CreativeIdentifierType; value: string }[];
                    provenance?: {
                        digital_source_type?: DigitalSourceType;
                        ai_tool?: { name: string; version?: string; provider?: string };
                        human_oversight?:
                            | "none"
                            | "prompt_only"
                            | "selected"
                            | "edited"
                            | "directed";
                        declared_by?: {
                            agent_url?: string;
                            role: "advertiser"
                            | "creator"
                            | "agency"
                            | "platform"
                            | "tool";
                        };
                        declared_at?: string;
                        created_time?: string;
                        c2pa?: { manifest_url: string };
                        embedded_provenance?: {
                            method: EmbeddedProvenanceMethod;
                            standard?: string;
                            provider: string;
                            verify_agent?: { agent_url: ...; feature_id?: ... };
                            embedded_at?: string;
                        }[];
                        watermarks?: {
                            media_type: WatermarkMediaType;
                            provider: string;
                            verify_agent?: { agent_url: ...; feature_id?: ... };
                            c2pa_action?: C2PAWatermarkAction;
                            embedded_at?: string;
                        }[];
                        disclosure?: {
                            required: boolean;
                            jurisdictions?: {
                                country: ...;
                                region?: ...;
                                regulation: ...;
                                label_text?: ...;
                                render_guidance?: ...;
                            }[];
                        };
                        verification?: {
                            verified_by: string;
                            verified_time?: string;
                            result: "authentic"
                            | "ai_generated"
                            | "ai_modified"
                            | "inconclusive";
                            confidence?: number;
                            details_url?: string;
                        }[];
                        ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                            authentication?: unknown;
                        };
                    };
                    ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                        authentication?: unknown;
                    };
                }
                | {
                    format_id?: {
                        agent_url: string;
                        id: string;
                        width?: number;
                        height?: number;
                        duration_ms?: number;
                    };
                    format_kind: | "image"
                    | "custom"
                    | "html5"
                    | "display_tag"
                    | "image_carousel"
                    | "video_hosted"
                    | "video_vast"
                    | "audio_hosted"
                    | "audio_daast"
                    | "sponsored_placement"
                    | "native_in_feed"
                    | "responsive_creative"
                    | "agent_placement";
                    format_option_ref?: | {
                        scope: "publisher";
                        publisher_domain: string;
                        format_option_id: string;
                    }
                    | {
                        scope: "product";
                        format_option_id: string;
                        publisher_domain?: undefined;
                    };
                    assets: Omit<
                        Omit<
                            {
                                [key: string]: | {
                                    asset_type: "image";
                                    url: string;
                                    width: number;
                                    height: number;
                                    format?: (...)
                                    | (...);
                                    alt_text?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "video";
                                    url: string;
                                    width: number;
                                    height: number;
                                    duration_ms?: (...)
                                    | (...);
                                    file_size_bytes?: (...) | (...);
                                    container_format?: (...) | (...);
                                    video_codec?: (...) | (...);
                                    video_bitrate_kbps?: (...) | (...);
                                    frame_rate?: (...) | (...);
                                    frame_rate_type?: (...) | (...);
                                    scan_type?: (...) | (...);
                                    color_space?: (...) | (...) | (...) | (...) | (...) | (...);
                                    hdr_format?: (...) | (...) | (...) | (...) | (...) | (...);
                                    chroma_subsampling?: (...) | (...) | (...) | (...);
                                    video_bit_depth?: (...) | (...) | (...) | (...);
                                    gop_interval_seconds?: (...) | (...);
                                    gop_type?: (...) | (...);
                                    moov_atom_position?: (...) | (...);
                                    has_audio?: (...) | (...) | (...);
                                    audio_codec?: (...) | (...);
                                    audio_sampling_rate_hz?: (...) | (...);
                                    audio_channels?: (...) | (...);
                                    audio_bit_depth?: (...) | (...) | (...) | (...);
                                    audio_bitrate_kbps?: (...) | (...);
                                    audio_loudness_lufs?: (...) | (...);
                                    audio_true_peak_dbfs?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    transcript_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "audio";
                                    url: string;
                                    duration_ms?: (...)
                                    | (...);
                                    file_size_bytes?: (...) | (...);
                                    container_format?: (...) | (...);
                                    codec?: (...) | (...);
                                    sampling_rate_hz?: (...) | (...);
                                    channels?: (...) | (...);
                                    bit_depth?: (...) | (...) | (...) | (...);
                                    bitrate_kbps?: (...) | (...);
                                    loudness_lufs?: (...) | (...);
                                    true_peak_dbfs?: (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "vast";
                                    vast_version?: (...)
                                    | (...);
                                    vpaid_enabled?: (...) | (...) | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "url";
                                    url: string;
                                }
                                | {
                                    asset_type: "vast";
                                    vast_version?: (...)
                                    | (...);
                                    vpaid_enabled?: (...) | (...) | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    captions_url?: (...) | (...);
                                    audio_description_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "inline";
                                    content: string;
                                }
                                | {
                                    asset_type: "text";
                                    content: string;
                                    language?: (...)
                                    | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "url";
                                    url: string;
                                    url_type?: (...)
                                    | (...);
                                    description?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "html";
                                    content: string;
                                    version?: (...)
                                    | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "javascript";
                                    content: string;
                                    module_type?: (...)
                                    | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "zip";
                                    url: string;
                                    max_file_size_kb?: (...)
                                    | (...);
                                    entry_point?: (...) | (...);
                                    allowed_inner_extensions?: (...) | (...);
                                    backup_image_url?: (...) | (...);
                                    digest?: (...) | (...);
                                    accessibility?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "webhook";
                                    url: string;
                                    method?: (...)
                                    | (...);
                                    timeout_ms?: (...) | (...);
                                    supported_macros?: (...) | (...);
                                    required_macros?: (...) | (...);
                                    response_type: WebhookResponseType;
                                    security: { method: ...; hmac_header?: ...; api_key_header?: ... };
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "css";
                                    content: string;
                                    media?: (...)
                                    | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "daast";
                                    daast_version?: (...)
                                    | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    companion_ads?: (...) | (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "url";
                                    url: string;
                                }
                                | {
                                    asset_type: "daast";
                                    daast_version?: (...)
                                    | (...);
                                    duration_ms?: (...) | (...);
                                    tracking_events?: (...) | (...);
                                    companion_ads?: (...) | (...) | (...);
                                    transcript_url?: (...) | (...);
                                    provenance?: (...) | (...);
                                    delivery_type: "inline";
                                    content: string;
                                }
                                | {
                                    asset_type: "markdown";
                                    content: string;
                                    language?: (...)
                                    | (...);
                                    markdown_flavor?: (...) | (...);
                                    allow_raw_html?: (...) | (...) | (...);
                                }
                                | {
                                    name: string;
                                    objective?: (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                    tone?: (...) | (...);
                                    audience?: (...) | (...);
                                    territory?: (...) | (...);
                                    messaging?: (...) | (...);
                                    reference_assets?: (...) | (...);
                                    compliance?: (...) | (...);
                                    asset_type: "brief";
                                }
                                | {
                                    catalog_id?: (...)
                                    | (...);
                                    name?: (...) | (...);
                                    type: CatalogType;
                                    url?: (...) | (...);
                                    feed_format?: (...) | (...);
                                    update_frequency?: (...) | (...);
                                    items?: (...) | (...);
                                    ids?: (...) | (...);
                                    gtins?: (...) | (...);
                                    tags?: (...) | (...);
                                    category?: (...) | (...);
                                    query?: (...) | (...);
                                    conversion_events?: (...) | (...);
                                    content_id_type?: (...) | (...);
                                    feed_field_mappings?: (...) | (...);
                                    asset_type: "catalog";
                                }
                                | {
                                    asset_type: "published_post";
                                    post_url?: (...)
                                    | (...);
                                    platform?: (...) | (...);
                                    platform_post_id?: (...) | (...);
                                    identity_ref?: (...) | (...);
                                    published_at?: (...) | (...);
                                    reference_authorization?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "card";
                                    media: (...)
                                    | (...);
                                    headline?: (...) | (...);
                                    description?: (...) | (...);
                                    cta?: (...) | (...);
                                    landing_page_url?: (...) | (...);
                                    platform_extensions?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "pixel_tracker";
                                    event: (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...);
                                    method?: (...) | (...) | (...);
                                    url: string;
                                    custom_event_name?: (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "vast_tracker";
                                    vast_event: VASTTrackingEvent;
                                    url: string;
                                    offset?: (...)
                                    | (...);
                                    target?: (...) | (...) | (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | {
                                    asset_type: "daast_tracker";
                                    daast_event: DAASTTrackingEvent;
                                    url: string;
                                    offset?: (...)
                                    | (...);
                                    target?: (...) | (...) | (...);
                                    provenance?: (...) | (...);
                                }
                                | (
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                )[];
                            },
                            "bank",
                        >,
                        "authentication",
                    > & { authentication?: unknown };
                    brand?: {
                        domain: string;
                        brand_id?: string;
                        industries?: string[];
                        data_subject_contestation?: {
                            url?: string;
                            email?: string;
                            languages?: string[];
                        };
                        brand_kit_override?: {
                            logo?: {
                                asset_type: "image";
                                url: string;
                                width: number;
                                height: number;
                                format?: (...)
                                | (...);
                                alt_text?: (...) | (...);
                                provenance?: (...) | (...);
                            };
                            colors?: {
                                primary?: (...)
                                | (...);
                                secondary?: (...) | (...);
                                accent?: (...) | (...);
                            };
                            voice?: string;
                            tagline?: string;
                        };
                    };
                    rights?: {
                        rights_id: string;
                        rights_agent: { url: string; id: string };
                        valid_from?: string;
                        valid_until?: string;
                        uses: RightUse[];
                        countries?: string[];
                        excluded_countries?: string[];
                        impression_cap?: number;
                        right_type?: RightType;
                        approval_status?: "rejected" | "approved" | "pending";
                        verification_url?: string;
                        ext?: Omit<Omit<(...), (...)>, "authentication"> & {
                            authentication?: unknown;
                        };
                    }[];
                    industry_identifiers?: { type: CreativeIdentifierType; value: string }[];
                    provenance?: {
                        digital_source_type?: DigitalSourceType;
                        ai_tool?: { name: string; version?: string; provider?: string };
                        human_oversight?:
                            | "none"
                            | "prompt_only"
                            | "selected"
                            | "edited"
                            | "directed";
                        declared_by?: {
                            agent_url?: string;
                            role: "advertiser"
                            | "creator"
                            | "agency"
                            | "platform"
                            | "tool";
                        };
                        declared_at?: string;
                        created_time?: string;
                        c2pa?: { manifest_url: string };
                        embedded_provenance?: {
                            method: EmbeddedProvenanceMethod;
                            standard?: string;
                            provider: string;
                            verify_agent?: { agent_url: ...; feature_id?: ... };
                            embedded_at?: string;
                        }[];
                        watermarks?: {
                            media_type: WatermarkMediaType;
                            provider: string;
                            verify_agent?: { agent_url: ...; feature_id?: ... };
                            c2pa_action?: C2PAWatermarkAction;
                            embedded_at?: string;
                        }[];
                        disclosure?: {
                            required: boolean;
                            jurisdictions?: {
                                country: ...;
                                region?: ...;
                                regulation: ...;
                                label_text?: ...;
                                render_guidance?: ...;
                            }[];
                        };
                        verification?: {
                            verified_by: string;
                            verified_time?: string;
                            result: "authentic"
                            | "ai_generated"
                            | "ai_modified"
                            | "inconclusive";
                            confidence?: number;
                            details_url?: string;
                        }[];
                        ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                            authentication?: unknown;
                        };
                    };
                    ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                        authentication?: unknown;
                    };
                }
            )[];
            sandbox?: boolean;
            expires_at?: string;
            preview?: {
                previews: {
                    preview_id: string;
                    format_id: {
                        agent_url: string;
                        id: string;
                        width?: number;
                        height?: number;
                        duration_ms?: number;
                    };
                    renders: (
                        | {
                            render_id: string;
                            output_format: "url";
                            preview_url: string;
                            role: string;
                            dimensions?: { width: number; height: number };
                            embedding?: {
                                recommended_sandbox?: (...) | (...);
                                requires_https?: (...) | (...) | (...);
                                supports_fullscreen?: (...) | (...) | (...);
                                csp_policy?: (...) | (...);
                            };
                        }
                        | {
                            render_id: string;
                            output_format: "html";
                            preview_html: string;
                            role: string;
                            dimensions?: { width: number; height: number };
                            embedding?: {
                                recommended_sandbox?: (...) | (...);
                                requires_https?: (...) | (...) | (...);
                                supports_fullscreen?: (...) | (...) | (...);
                                csp_policy?: (...) | (...);
                            };
                        }
                        | {
                            render_id: string;
                            output_format: "both";
                            preview_url: string;
                            preview_html: string;
                            role: string;
                            dimensions?: { width: number; height: number };
                            embedding?: {
                                recommended_sandbox?: (...) | (...);
                                requires_https?: (...) | (...) | (...);
                                supports_fullscreen?: (...) | (...) | (...);
                                csp_policy?: (...) | (...);
                            };
                        }
                    )[];
                    input: {
                        name: string;
                        macros?: Omit<Omit<{ [key: ...]: ... }, "bank">, "authentication"> & {
                            authentication?: unknown;
                        };
                        context_description?: string;
                    };
                }[];
                interactive_url?: string;
                expires_at: string;
            };
            preview_error?: {
                code: string;
                message: string;
                field?: string;
                suggestion?: string;
                retry_after?: number;
                issues?: {
                    pointer: string;
                    message: string;
                    keyword: string;
                    schemaPath?: string;
                    schema_id?: string;
                    discriminator?: {
                        property_name: string;
                        value: string
                        | number
                        | boolean
                        | null;
                    }[];
                }[];
                details?: Omit<Omit<{}, "bank">, "authentication"> & {
                    authentication?: unknown;
                };
                recovery?: "transient"
                | "correctable"
                | "terminal";
                source?: "producer" | "sdk";
                sdk_id?: string;
            };
            pricing_option_id?: string;
            vendor_cost?: number;
            currency?: string;
            consumption?: {
                tokens?: number;
                images_generated?: number;
                renders?: number;
                duration_seconds?: number;
            };
            context?: Omit<Omit<{}, "bank">, "authentication"> & {
                authentication?: unknown;
            };
            ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                authentication?: unknown;
            };
        }
        • creative_manifests: (
              | {
                  format_id: {
                      agent_url: string;
                      id: string;
                      width?: number;
                      height?: number;
                      duration_ms?: number;
                  };
                  format_kind?: CanonicalFormatKind;
                  format_option_ref?: | {
                      scope: "publisher";
                      publisher_domain: string;
                      format_option_id: string;
                  }
                  | {
                      scope: "product";
                      format_option_id: string;
                      publisher_domain?: undefined;
                  };
                  assets: Omit<
                      Omit<
                          {
                              [key: string]: | {
                                  asset_type: "image";
                                  url: string;
                                  width: number;
                                  height: number;
                                  format?: (...)
                                  | (...);
                                  alt_text?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "video";
                                  url: string;
                                  width: number;
                                  height: number;
                                  duration_ms?: (...)
                                  | (...);
                                  file_size_bytes?: (...) | (...);
                                  container_format?: (...) | (...);
                                  video_codec?: (...) | (...);
                                  video_bitrate_kbps?: (...) | (...);
                                  frame_rate?: (...) | (...);
                                  frame_rate_type?: (...) | (...);
                                  scan_type?: (...) | (...);
                                  color_space?: (...) | (...) | (...) | (...) | (...) | (...);
                                  hdr_format?: (...) | (...) | (...) | (...) | (...) | (...);
                                  chroma_subsampling?: (...) | (...) | (...) | (...);
                                  video_bit_depth?: (...) | (...) | (...) | (...);
                                  gop_interval_seconds?: (...) | (...);
                                  gop_type?: (...) | (...);
                                  moov_atom_position?: (...) | (...);
                                  has_audio?: (...) | (...) | (...);
                                  audio_codec?: (...) | (...);
                                  audio_sampling_rate_hz?: (...) | (...);
                                  audio_channels?: (...) | (...);
                                  audio_bit_depth?: (...) | (...) | (...) | (...);
                                  audio_bitrate_kbps?: (...) | (...);
                                  audio_loudness_lufs?: (...) | (...);
                                  audio_true_peak_dbfs?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  transcript_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "audio";
                                  url: string;
                                  duration_ms?: (...)
                                  | (...);
                                  file_size_bytes?: (...) | (...);
                                  container_format?: (...) | (...);
                                  codec?: (...) | (...);
                                  sampling_rate_hz?: (...) | (...);
                                  channels?: (...) | (...);
                                  bit_depth?: (...) | (...) | (...) | (...);
                                  bitrate_kbps?: (...) | (...);
                                  loudness_lufs?: (...) | (...);
                                  true_peak_dbfs?: (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "vast";
                                  vast_version?: (...)
                                  | (...);
                                  vpaid_enabled?: (...) | (...) | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "url";
                                  url: string;
                              }
                              | {
                                  asset_type: "vast";
                                  vast_version?: (...)
                                  | (...);
                                  vpaid_enabled?: (...) | (...) | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "inline";
                                  content: string;
                              }
                              | {
                                  asset_type: "text";
                                  content: string;
                                  language?: (...)
                                  | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "url";
                                  url: string;
                                  url_type?: (...)
                                  | (...);
                                  description?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "html";
                                  content: string;
                                  version?: (...)
                                  | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "javascript";
                                  content: string;
                                  module_type?: (...)
                                  | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "zip";
                                  url: string;
                                  max_file_size_kb?: (...)
                                  | (...);
                                  entry_point?: (...) | (...);
                                  allowed_inner_extensions?: (...) | (...);
                                  backup_image_url?: (...) | (...);
                                  digest?: (...) | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "webhook";
                                  url: string;
                                  method?: (...)
                                  | (...);
                                  timeout_ms?: (...) | (...);
                                  supported_macros?: (...) | (...);
                                  required_macros?: (...) | (...);
                                  response_type: WebhookResponseType;
                                  security: { method: ...; hmac_header?: ...; api_key_header?: ... };
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "css";
                                  content: string;
                                  media?: (...)
                                  | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "daast";
                                  daast_version?: (...)
                                  | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  companion_ads?: (...) | (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "url";
                                  url: string;
                              }
                              | {
                                  asset_type: "daast";
                                  daast_version?: (...)
                                  | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  companion_ads?: (...) | (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "inline";
                                  content: string;
                              }
                              | {
                                  asset_type: "markdown";
                                  content: string;
                                  language?: (...)
                                  | (...);
                                  markdown_flavor?: (...) | (...);
                                  allow_raw_html?: (...) | (...) | (...);
                              }
                              | {
                                  name: string;
                                  objective?: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  tone?: (...) | (...);
                                  audience?: (...) | (...);
                                  territory?: (...) | (...);
                                  messaging?: (...) | (...);
                                  reference_assets?: (...) | (...);
                                  compliance?: (...) | (...);
                                  asset_type: "brief";
                              }
                              | {
                                  catalog_id?: (...)
                                  | (...);
                                  name?: (...) | (...);
                                  type: CatalogType;
                                  url?: (...) | (...);
                                  feed_format?: (...) | (...);
                                  update_frequency?: (...) | (...);
                                  items?: (...) | (...);
                                  ids?: (...) | (...);
                                  gtins?: (...) | (...);
                                  tags?: (...) | (...);
                                  category?: (...) | (...);
                                  query?: (...) | (...);
                                  conversion_events?: (...) | (...);
                                  content_id_type?: (...) | (...);
                                  feed_field_mappings?: (...) | (...);
                                  asset_type: "catalog";
                              }
                              | {
                                  asset_type: "published_post";
                                  post_url?: (...)
                                  | (...);
                                  platform?: (...) | (...);
                                  platform_post_id?: (...) | (...);
                                  identity_ref?: (...) | (...);
                                  published_at?: (...) | (...);
                                  reference_authorization?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "card";
                                  media: (...)
                                  | (...);
                                  headline?: (...) | (...);
                                  description?: (...) | (...);
                                  cta?: (...) | (...);
                                  landing_page_url?: (...) | (...);
                                  platform_extensions?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "pixel_tracker";
                                  event: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  method?: (...) | (...) | (...);
                                  url: string;
                                  custom_event_name?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "vast_tracker";
                                  vast_event: VASTTrackingEvent;
                                  url: string;
                                  offset?: (...)
                                  | (...);
                                  target?: (...) | (...) | (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "daast_tracker";
                                  daast_event: DAASTTrackingEvent;
                                  url: string;
                                  offset?: (...)
                                  | (...);
                                  target?: (...) | (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | (
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                              )[];
                          },
                          "bank",
                      >,
                      "authentication",
                  > & { authentication?: unknown };
                  brand?: {
                      domain: string;
                      brand_id?: string;
                      industries?: string[];
                      data_subject_contestation?: {
                          url?: string;
                          email?: string;
                          languages?: string[];
                      };
                      brand_kit_override?: {
                          logo?: {
                              asset_type: "image";
                              url: string;
                              width: number;
                              height: number;
                              format?: (...)
                              | (...);
                              alt_text?: (...) | (...);
                              provenance?: (...) | (...);
                          };
                          colors?: {
                              primary?: (...)
                              | (...);
                              secondary?: (...) | (...);
                              accent?: (...) | (...);
                          };
                          voice?: string;
                          tagline?: string;
                      };
                  };
                  rights?: {
                      rights_id: string;
                      rights_agent: { url: string; id: string };
                      valid_from?: string;
                      valid_until?: string;
                      uses: RightUse[];
                      countries?: string[];
                      excluded_countries?: string[];
                      impression_cap?: number;
                      right_type?: RightType;
                      approval_status?: "rejected" | "approved" | "pending";
                      verification_url?: string;
                      ext?: Omit<Omit<(...), (...)>, "authentication"> & {
                          authentication?: unknown;
                      };
                  }[];
                  industry_identifiers?: { type: CreativeIdentifierType; value: string }[];
                  provenance?: {
                      digital_source_type?: DigitalSourceType;
                      ai_tool?: { name: string; version?: string; provider?: string };
                      human_oversight?:
                          | "none"
                          | "prompt_only"
                          | "selected"
                          | "edited"
                          | "directed";
                      declared_by?: {
                          agent_url?: string;
                          role: "advertiser"
                          | "creator"
                          | "agency"
                          | "platform"
                          | "tool";
                      };
                      declared_at?: string;
                      created_time?: string;
                      c2pa?: { manifest_url: string };
                      embedded_provenance?: {
                          method: EmbeddedProvenanceMethod;
                          standard?: string;
                          provider: string;
                          verify_agent?: { agent_url: ...; feature_id?: ... };
                          embedded_at?: string;
                      }[];
                      watermarks?: {
                          media_type: WatermarkMediaType;
                          provider: string;
                          verify_agent?: { agent_url: ...; feature_id?: ... };
                          c2pa_action?: C2PAWatermarkAction;
                          embedded_at?: string;
                      }[];
                      disclosure?: {
                          required: boolean;
                          jurisdictions?: {
                              country: ...;
                              region?: ...;
                              regulation: ...;
                              label_text?: ...;
                              render_guidance?: ...;
                          }[];
                      };
                      verification?: {
                          verified_by: string;
                          verified_time?: string;
                          result: "authentic"
                          | "ai_generated"
                          | "ai_modified"
                          | "inconclusive";
                          confidence?: number;
                          details_url?: string;
                      }[];
                      ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                          authentication?: unknown;
                      };
                  };
                  ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                      authentication?: unknown;
                  };
              }
              | {
                  format_id?: {
                      agent_url: string;
                      id: string;
                      width?: number;
                      height?: number;
                      duration_ms?: number;
                  };
                  format_kind: | "image"
                  | "custom"
                  | "html5"
                  | "display_tag"
                  | "image_carousel"
                  | "video_hosted"
                  | "video_vast"
                  | "audio_hosted"
                  | "audio_daast"
                  | "sponsored_placement"
                  | "native_in_feed"
                  | "responsive_creative"
                  | "agent_placement";
                  format_option_ref?: | {
                      scope: "publisher";
                      publisher_domain: string;
                      format_option_id: string;
                  }
                  | {
                      scope: "product";
                      format_option_id: string;
                      publisher_domain?: undefined;
                  };
                  assets: Omit<
                      Omit<
                          {
                              [key: string]: | {
                                  asset_type: "image";
                                  url: string;
                                  width: number;
                                  height: number;
                                  format?: (...)
                                  | (...);
                                  alt_text?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "video";
                                  url: string;
                                  width: number;
                                  height: number;
                                  duration_ms?: (...)
                                  | (...);
                                  file_size_bytes?: (...) | (...);
                                  container_format?: (...) | (...);
                                  video_codec?: (...) | (...);
                                  video_bitrate_kbps?: (...) | (...);
                                  frame_rate?: (...) | (...);
                                  frame_rate_type?: (...) | (...);
                                  scan_type?: (...) | (...);
                                  color_space?: (...) | (...) | (...) | (...) | (...) | (...);
                                  hdr_format?: (...) | (...) | (...) | (...) | (...) | (...);
                                  chroma_subsampling?: (...) | (...) | (...) | (...);
                                  video_bit_depth?: (...) | (...) | (...) | (...);
                                  gop_interval_seconds?: (...) | (...);
                                  gop_type?: (...) | (...);
                                  moov_atom_position?: (...) | (...);
                                  has_audio?: (...) | (...) | (...);
                                  audio_codec?: (...) | (...);
                                  audio_sampling_rate_hz?: (...) | (...);
                                  audio_channels?: (...) | (...);
                                  audio_bit_depth?: (...) | (...) | (...) | (...);
                                  audio_bitrate_kbps?: (...) | (...);
                                  audio_loudness_lufs?: (...) | (...);
                                  audio_true_peak_dbfs?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  transcript_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "audio";
                                  url: string;
                                  duration_ms?: (...)
                                  | (...);
                                  file_size_bytes?: (...) | (...);
                                  container_format?: (...) | (...);
                                  codec?: (...) | (...);
                                  sampling_rate_hz?: (...) | (...);
                                  channels?: (...) | (...);
                                  bit_depth?: (...) | (...) | (...) | (...);
                                  bitrate_kbps?: (...) | (...);
                                  loudness_lufs?: (...) | (...);
                                  true_peak_dbfs?: (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "vast";
                                  vast_version?: (...)
                                  | (...);
                                  vpaid_enabled?: (...) | (...) | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "url";
                                  url: string;
                              }
                              | {
                                  asset_type: "vast";
                                  vast_version?: (...)
                                  | (...);
                                  vpaid_enabled?: (...) | (...) | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  captions_url?: (...) | (...);
                                  audio_description_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "inline";
                                  content: string;
                              }
                              | {
                                  asset_type: "text";
                                  content: string;
                                  language?: (...)
                                  | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "url";
                                  url: string;
                                  url_type?: (...)
                                  | (...);
                                  description?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "html";
                                  content: string;
                                  version?: (...)
                                  | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "javascript";
                                  content: string;
                                  module_type?: (...)
                                  | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "zip";
                                  url: string;
                                  max_file_size_kb?: (...)
                                  | (...);
                                  entry_point?: (...) | (...);
                                  allowed_inner_extensions?: (...) | (...);
                                  backup_image_url?: (...) | (...);
                                  digest?: (...) | (...);
                                  accessibility?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "webhook";
                                  url: string;
                                  method?: (...)
                                  | (...);
                                  timeout_ms?: (...) | (...);
                                  supported_macros?: (...) | (...);
                                  required_macros?: (...) | (...);
                                  response_type: WebhookResponseType;
                                  security: { method: ...; hmac_header?: ...; api_key_header?: ... };
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "css";
                                  content: string;
                                  media?: (...)
                                  | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "daast";
                                  daast_version?: (...)
                                  | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  companion_ads?: (...) | (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "url";
                                  url: string;
                              }
                              | {
                                  asset_type: "daast";
                                  daast_version?: (...)
                                  | (...);
                                  duration_ms?: (...) | (...);
                                  tracking_events?: (...) | (...);
                                  companion_ads?: (...) | (...) | (...);
                                  transcript_url?: (...) | (...);
                                  provenance?: (...) | (...);
                                  delivery_type: "inline";
                                  content: string;
                              }
                              | {
                                  asset_type: "markdown";
                                  content: string;
                                  language?: (...)
                                  | (...);
                                  markdown_flavor?: (...) | (...);
                                  allow_raw_html?: (...) | (...) | (...);
                              }
                              | {
                                  name: string;
                                  objective?: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  tone?: (...) | (...);
                                  audience?: (...) | (...);
                                  territory?: (...) | (...);
                                  messaging?: (...) | (...);
                                  reference_assets?: (...) | (...);
                                  compliance?: (...) | (...);
                                  asset_type: "brief";
                              }
                              | {
                                  catalog_id?: (...)
                                  | (...);
                                  name?: (...) | (...);
                                  type: CatalogType;
                                  url?: (...) | (...);
                                  feed_format?: (...) | (...);
                                  update_frequency?: (...) | (...);
                                  items?: (...) | (...);
                                  ids?: (...) | (...);
                                  gtins?: (...) | (...);
                                  tags?: (...) | (...);
                                  category?: (...) | (...);
                                  query?: (...) | (...);
                                  conversion_events?: (...) | (...);
                                  content_id_type?: (...) | (...);
                                  feed_field_mappings?: (...) | (...);
                                  asset_type: "catalog";
                              }
                              | {
                                  asset_type: "published_post";
                                  post_url?: (...)
                                  | (...);
                                  platform?: (...) | (...);
                                  platform_post_id?: (...) | (...);
                                  identity_ref?: (...) | (...);
                                  published_at?: (...) | (...);
                                  reference_authorization?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "card";
                                  media: (...)
                                  | (...);
                                  headline?: (...) | (...);
                                  description?: (...) | (...);
                                  cta?: (...) | (...);
                                  landing_page_url?: (...) | (...);
                                  platform_extensions?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "pixel_tracker";
                                  event: (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  method?: (...) | (...) | (...);
                                  url: string;
                                  custom_event_name?: (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "vast_tracker";
                                  vast_event: VASTTrackingEvent;
                                  url: string;
                                  offset?: (...)
                                  | (...);
                                  target?: (...) | (...) | (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | {
                                  asset_type: "daast_tracker";
                                  daast_event: DAASTTrackingEvent;
                                  url: string;
                                  offset?: (...)
                                  | (...);
                                  target?: (...) | (...) | (...);
                                  provenance?: (...) | (...);
                              }
                              | (
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                              )[];
                          },
                          "bank",
                      >,
                      "authentication",
                  > & { authentication?: unknown };
                  brand?: {
                      domain: string;
                      brand_id?: string;
                      industries?: string[];
                      data_subject_contestation?: {
                          url?: string;
                          email?: string;
                          languages?: string[];
                      };
                      brand_kit_override?: {
                          logo?: {
                              asset_type: "image";
                              url: string;
                              width: number;
                              height: number;
                              format?: (...)
                              | (...);
                              alt_text?: (...) | (...);
                              provenance?: (...) | (...);
                          };
                          colors?: {
                              primary?: (...)
                              | (...);
                              secondary?: (...) | (...);
                              accent?: (...) | (...);
                          };
                          voice?: string;
                          tagline?: string;
                      };
                  };
                  rights?: {
                      rights_id: string;
                      rights_agent: { url: string; id: string };
                      valid_from?: string;
                      valid_until?: string;
                      uses: RightUse[];
                      countries?: string[];
                      excluded_countries?: string[];
                      impression_cap?: number;
                      right_type?: RightType;
                      approval_status?: "rejected" | "approved" | "pending";
                      verification_url?: string;
                      ext?: Omit<Omit<(...), (...)>, "authentication"> & {
                          authentication?: unknown;
                      };
                  }[];
                  industry_identifiers?: { type: CreativeIdentifierType; value: string }[];
                  provenance?: {
                      digital_source_type?: DigitalSourceType;
                      ai_tool?: { name: string; version?: string; provider?: string };
                      human_oversight?:
                          | "none"
                          | "prompt_only"
                          | "selected"
                          | "edited"
                          | "directed";
                      declared_by?: {
                          agent_url?: string;
                          role: "advertiser"
                          | "creator"
                          | "agency"
                          | "platform"
                          | "tool";
                      };
                      declared_at?: string;
                      created_time?: string;
                      c2pa?: { manifest_url: string };
                      embedded_provenance?: {
                          method: EmbeddedProvenanceMethod;
                          standard?: string;
                          provider: string;
                          verify_agent?: { agent_url: ...; feature_id?: ... };
                          embedded_at?: string;
                      }[];
                      watermarks?: {
                          media_type: WatermarkMediaType;
                          provider: string;
                          verify_agent?: { agent_url: ...; feature_id?: ... };
                          c2pa_action?: C2PAWatermarkAction;
                          embedded_at?: string;
                      }[];
                      disclosure?: {
                          required: boolean;
                          jurisdictions?: {
                              country: ...;
                              region?: ...;
                              regulation: ...;
                              label_text?: ...;
                              render_guidance?: ...;
                          }[];
                      };
                      verification?: {
                          verified_by: string;
                          verified_time?: string;
                          result: "authentic"
                          | "ai_generated"
                          | "ai_modified"
                          | "inconclusive";
                          confidence?: number;
                          details_url?: string;
                      }[];
                      ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                          authentication?: unknown;
                      };
                  };
                  ext?: Omit<Omit<{}, "bank">, "authentication"> & {
                      authentication?: unknown;
                  };
              }
          )[]

          Array of generated creative manifests, one per requested format. Each manifest contains its own format_id identifying which format it was generated for.

        • Optionalsandbox?: boolean

          When true, this response contains simulated data from sandbox mode.

        • Optionalexpires_at?: string

          ISO 8601 timestamp when the earliest generated asset URL expires across all manifests. Re-build after this time to get fresh URLs.

          date-time

        • Optionalpreview?: {
              previews: {
                  preview_id: string;
                  format_id: {
                      agent_url: string;
                      id: string;
                      width?: number;
                      height?: number;
                      duration_ms?: number;
                  };
                  renders: (
                      | {
                          render_id: string;
                          output_format: "url";
                          preview_url: string;
                          role: string;
                          dimensions?: { width: number; height: number };
                          embedding?: {
                              recommended_sandbox?: (...) | (...);
                              requires_https?: (...) | (...) | (...);
                              supports_fullscreen?: (...) | (...) | (...);
                              csp_policy?: (...) | (...);
                          };
                      }
                      | {
                          render_id: string;
                          output_format: "html";
                          preview_html: string;
                          role: string;
                          dimensions?: { width: number; height: number };
                          embedding?: {
                              recommended_sandbox?: (...) | (...);
                              requires_https?: (...) | (...) | (...);
                              supports_fullscreen?: (...) | (...) | (...);
                              csp_policy?: (...) | (...);
                          };
                      }
                      | {
                          render_id: string;
                          output_format: "both";
                          preview_url: string;
                          preview_html: string;
                          role: string;
                          dimensions?: { width: number; height: number };
                          embedding?: {
                              recommended_sandbox?: (...) | (...);
                              requires_https?: (...) | (...) | (...);
                              supports_fullscreen?: (...) | (...) | (...);
                              csp_policy?: (...) | (...);
                          };
                      }
                  )[];
                  input: {
                      name: string;
                      macros?: Omit<Omit<{ [key: ...]: ... }, "bank">, "authentication"> & {
                          authentication?: unknown;
                      };
                      context_description?: string;
                  };
              }[];
              interactive_url?: string;
              expires_at: string;
          }

          Preview renders included when the request set include_preview to true and the agent supports it. Contains one default preview per requested format. preview_inputs is ignored for multi-format requests.

          • previews: {
                preview_id: string;
                format_id: {
                    agent_url: string;
                    id: string;
                    width?: number;
                    height?: number;
                    duration_ms?: number;
                };
                renders: (
                    | {
                        render_id: string;
                        output_format: "url";
                        preview_url: string;
                        role: string;
                        dimensions?: { width: number; height: number };
                        embedding?: {
                            recommended_sandbox?: (...) | (...);
                            requires_https?: (...) | (...) | (...);
                            supports_fullscreen?: (...) | (...) | (...);
                            csp_policy?: (...) | (...);
                        };
                    }
                    | {
                        render_id: string;
                        output_format: "html";
                        preview_html: string;
                        role: string;
                        dimensions?: { width: number; height: number };
                        embedding?: {
                            recommended_sandbox?: (...) | (...);
                            requires_https?: (...) | (...) | (...);
                            supports_fullscreen?: (...) | (...) | (...);
                            csp_policy?: (...) | (...);
                        };
                    }
                    | {
                        render_id: string;
                        output_format: "both";
                        preview_url: string;
                        preview_html: string;
                        role: string;
                        dimensions?: { width: number; height: number };
                        embedding?: {
                            recommended_sandbox?: (...) | (...);
                            requires_https?: (...) | (...) | (...);
                            supports_fullscreen?: (...) | (...) | (...);
                            csp_policy?: (...) | (...);
                        };
                    }
                )[];
                input: {
                    name: string;
                    macros?: Omit<Omit<{ [key: ...]: ... }, "bank">, "authentication"> & {
                        authentication?: unknown;
                    };
                    context_description?: string;
                };
            }[]

            Array of preview entries, one per requested format. Array order matches creative_manifests. Each entry includes a format_id for explicit correlation.

          • Optionalinteractive_url?: string

            Optional URL to an interactive testing page that shows all format previews with controls to switch between them.

          • expires_at: string

            ISO 8601 timestamp when preview URLs expire. May differ from the manifest's expires_at.

            date-time

        • Optionalpreview_error?: {
              code: string;
              message: string;
              field?: string;
              suggestion?: string;
              retry_after?: number;
              issues?: {
                  pointer: string;
                  message: string;
                  keyword: string;
                  schemaPath?: string;
                  schema_id?: string;
                  discriminator?: {
                      property_name: string;
                      value: string | number | boolean | null;
                  }[];
              }[];
              details?: Omit<Omit<{}, "bank">, "authentication"> & {
                  authentication?: unknown;
              };
              recovery?: "transient"
              | "correctable"
              | "terminal";
              source?: "producer" | "sdk";
              sdk_id?: string;
          }
          • code: string

            Error code for programmatic handling. The error-code vocabulary is open: error.code is wire-typed string (not a closed enum), the standard codes published in enums/error-code.json are documentary, and senders MAY emit codes outside that set (platform-specific codes, or codes introduced in a later AdCP version). Receivers MUST decode unknown codes — treat the response as well-formed, read error.recovery for the recovery classification, and fall back to transient when recovery is absent. See error-handling.mdx#forward-compatible-decoding-normative for the full forward-compat contract — this rule is what lets future maintenance lines ship new codes additively.

            1

            64

          • message: string

            Human-readable error message

          • Optionalfield?: string

            Field path associated with the error in JSONPath-lite format (e.g., 'packages[0].targeting'). When issues[] is also present, sellers MUST set this to issues[0].pointer translated from RFC 6901 to JSONPath-lite (e.g., '/packages/0/targeting' → 'packages[0].targeting') so pre-3.1 consumers reading field only get deterministic behavior. Will be deprecated in a future major version in favor of issues[].pointer.

          • Optionalsuggestion?: string

            Suggested fix for the error

          • Optionalretry_after?: number

            Seconds to wait before retrying the operation. Sellers MUST return values between 1 and 3600. Clients MUST clamp values outside this range.

            1

            3600

          • Optionalissues?: {
                pointer: string;
                message: string;
                keyword: string;
                schemaPath?: string;
                schema_id?: string;
                discriminator?: {
                    property_name: string;
                    value: string | number | boolean | null;
                }[];
            }[]

            Structured list of validation failures. Primary use is VALIDATION_ERROR, where multi-field rejections are common and field (singular) cannot carry the full pointer map. MAY appear on other error codes that reject multiple fields at once. When issues is present, sellers MUST also populate field from issues[0] for backward compatibility with pre-3.1 consumers that read field only — translating the RFC 6901 pointer format to the JSONPath-lite format field uses (e.g., /packages/0/targetingpackages[0].targeting). MUST (not SHOULD) so consumers reading field get deterministic behavior across sellers — the cost is one line of dual-write per seller; the cost of SHOULD is a long tail of seller-A-vs-seller-B inconsistency. Future major versions will deprecate field in favor of issues[].pointer.

          • Optionaldetails?: Omit<Omit<{}, "bank">, "authentication"> & { authentication?: unknown }

            Additional task-specific error details. Sellers MAY mirror issues[] here as details.issues for backward compatibility with pre-3.1 consumers reading from details; new consumers SHOULD prefer the top-level issues field.

            Canonical rejection-set shape (3.1+). When the error reports a rejected value against a closed set of accepted values (e.g., enum mismatch, unsupported pricing option, invalid signal id), sellers SHOULD use the canonical key accepted_values: <array> under details rather than seller-specific variants observed in the wild (available, allowed, accepted_values at the error root, etc.). The canonical shape:

            {
            "code": "INVALID_PRICING_MODEL",
            "message": "Pricing option not found: po_prism_abandoner_cpm",
            "field": "pricing_option_id",
            "details": {
            "rejected_value": "po_prism_abandoner_cpm",
            "accepted_values": ["po_prism_cart_cpm", "po_prism_view_cpm"]
            }
            }
            • rejected_value (optional): the offending value the buyer supplied, echoed for buyer-side diagnostic clarity (especially when the offending field is nested or transformed before validation).
            • accepted_values (optional): the closed set the seller would have accepted at this field on this call. Sellers MUST NOT enumerate the full ecosystem-wide accepted set if it differs from what's accepted for this caller in this context (account, brand, scope) — leaking ecosystem-wide accepted sets to a per-caller rejection turns the error into an enumeration oracle.

            This is SHOULD-level guidance, not MUST: details remains additionalProperties: true and pre-3.1 sellers using available / allowed / accepted_values at the error root remain conformant. The canonical shape lets buyer-side diagnostic tooling (SDK runner hints, dashboards, error classifiers) reliably surface the accepted-set without per-seller pattern matching. SDKs SHOULD accept any of the legacy variants and normalize on read; the canonical shape is what new sellers and 3.1+ adopters should emit going forward.

          • Optionalrecovery?: "transient" | "correctable" | "terminal"

            Agent recovery classification. transient: retry after delay (rate limit, service unavailable, timeout). correctable: fix the request and resend (invalid field, budget too low, creative rejected). terminal: requires human action (account suspended, payment required, account not found). Senders SHOULD populate recovery on every error from 3.1 onward — it is the normative carrier of recovery semantics across version skew. A receiver that does not recognize error.code (a newer code, or a platform-specific code) MUST still be able to classify the error from recovery. The enumMetadata.recovery block in enums/error-code.json is the documentary mirror for known codes; error.recovery on the wire is authoritative.

          • Optionalsource?: "producer" | "sdk"

            Who emitted this error entry. producer (default when absent): emitted by the response's authoring agent (the seller for get_products, the creative agent for build_creative, etc.). sdk: augmented by a consuming SDK that detected a non-fatal advisory condition on consumption (e.g., FORMAT_PROJECTION_FAILED when the buyer SDK couldn't project a v1 format to a canonical, or FORMAT_DECLARATION_DIVERGENT when the SDK detected a producer bug on read). SDK-augmented entries SHOULD also set sdk_id so downstream consumers can identify which intermediate processor inserted the entry.

            Multi-hop propagation (normative). AdCP is a federated agent network — responses commonly traverse multiple SDKs (e.g., sales agent → interchange → DSP → buyer). When an SDK augments errors[] with a consumption-detected entry, the augmented response carries the entry forward to subsequent hops. Each hop that detects the same condition independently SHOULD deduplicate by (code, field) rather than re-emit; the existing entry's sdk_id identifies which earlier processor saw it first. Producer entries (those without source: "sdk") are authoritative for what the response's authoring agent self-detected; SDK entries are observations made on top.

            Replay/audit safety. Persisted or replayed responses carry source and sdk_id so the audit trail can distinguish seller-emitted entries from SDK-augmented ones. Without source, a downstream consumer can't tell whether a code came from the seller or an intermediate SDK, which corrupts attribution.

          • Optionalsdk_id?: string

            Optional identifier for the SDK that augmented this error entry. Format: <sdk_package_name>@<version> (e.g., @adcontextprotocol/adcp@7.3.0, adcontextprotocol-adcp-python@1.2.0). MUST be set when source: "sdk"; MUST be absent when source: "producer" or absent. Lets downstream consumers identify which intermediate processor inserted the entry, useful for debugging cross-SDK divergence (e.g., one SDK detects a projection failure that another SDK's registry version doesn't).

        • Optionalpricing_option_id?: string

          Which rate card pricing option was applied for this build. Represents the total cost of the entire multi-format build call. Present when the creative agent charges for its services.

        • Optionalvendor_cost?: number

          Total cost incurred for this multi-format build, denominated in currency. May be 0 for CPM-priced creatives where cost accrues at serve time.

          0

        • Optionalcurrency?: string

          ISO 4217 currency code for vendor_cost.

          ^[A-Z]{3}$

        • Optionalconsumption?: {
              tokens?: number;
              images_generated?: number;
              renders?: number;
              duration_seconds?: number;
          }
          • Optionaltokens?: number

            LLM or generation tokens consumed during creative generation.

            0

          • Optionalimages_generated?: number

            Number of images produced during generation.

            0

          • Optionalrenders?: number

            Number of render passes performed (video, animation).

            0

          • Optionalduration_seconds?: number

            Processing time billed, in seconds. For compute-time pricing models.

            0

        • Optionalcontext?: Omit<Omit<{}, "bank">, "authentication"> & { authentication?: unknown }
        • Optionalext?: Omit<Omit<{}, "bank">, "authentication"> & { authentication?: unknown }
      • Optionalsummary: string

      Returns McpToolResponse

      v6: createAdcpServerFromPlatform constructs wire responses from typed platform returns. Direct use is for v5 raw-handler adopters mid-migration only.