@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface URLAsset

    URL reference asset. url_type declares the mechanism a receiver uses to invoke the URL (clickthrough, display ad_request, tracker_pixel, or tracker_script) and is distinct from the URL's purpose, which the format declares in url-asset-requirements.role. Senders SHOULD include url_type on every URL asset. When url_type is absent, receivers SHOULD fall back to the format's role: clickthrough/landing_page → clickthrough; impression_tracker/click_tracker → tracker_pixel; viewability_tracker → tracker_script; third_party_tracker and display ad requests have no safe fallback. When neither url_type nor a format-side role is available, receivers MUST NOT silently pick a mechanism. VAST/DAAST tag URLs are not URL assets — use asset_type: "vast" or asset_type: "daast".

    interface URLAsset {
        asset_type: "url";
        url: MacroBearingURL;
        url_type?: URLAssetType;
        macro_declarations?: [
            {
                declaration_id: string;
                token: string;
                dialect: MacroDialectFamily;
                dialect_namespace?: string;
                dialect_revision?: string;
                dialect_semantic: string;
                mapping_status: MacroMappingStatus;
                universal_semantic?: UniversalMacro;
                operation: MacroProcessingOperation;
                performed_by?: MacroProcessingActor;
                translation_target?: {
                    token: string;
                    dialect: MacroDialectFamily;
                    dialect_namespace?: string;
                    dialect_revision?: string;
                    dialect_semantic: string;
                    mapping_status: MacroMappingStatus;
                    universal_semantic?: UniversalMacro;
                    next_operation: "resolve_value";
                    performed_by: MacroProcessingActor;
                    encoding: MacroEncoding;
                };
                location: {
                    field: | "url"
                    | "content"
                    | "markup"
                    | "ad_request_url"
                    | "clickthrough_url";
                    occurrence: number;
                    context: MacroValueContext;
                };
                encoding: MacroEncoding;
                required: boolean;
                unavailable_behavior: | "preserve"
                | "omit_parameter"
                | "dialect_sentinel"
                | "reject";
            } & { location?: { field?: "url" } },
            ...(
                {
                    declaration_id: string;
                    token: string;
                    dialect: MacroDialectFamily;
                    dialect_namespace?: string;
                    dialect_revision?: string;
                    dialect_semantic: string;
                    mapping_status: MacroMappingStatus;
                    universal_semantic?: UniversalMacro;
                    operation: MacroProcessingOperation;
                    performed_by?: MacroProcessingActor;
                    translation_target?: {
                        token: string;
                        dialect: MacroDialectFamily;
                        dialect_namespace?: string;
                        dialect_revision?: string;
                        dialect_semantic: string;
                        mapping_status: MacroMappingStatus;
                        universal_semantic?: UniversalMacro;
                        next_operation: "resolve_value";
                        performed_by: MacroProcessingActor;
                        encoding: MacroEncoding;
                    };
                    location: {
                        field: | "url"
                        | "content"
                        | "markup"
                        | "ad_request_url"
                        | "clickthrough_url";
                        occurrence: number;
                        context: MacroValueContext;
                    };
                    encoding: MacroEncoding;
                    required: boolean;
                    unavailable_behavior: | "preserve"
                    | "omit_parameter"
                    | "dialect_sentinel"
                    | "reject";
                } & { location?: { field?: "url" } }
            )[],
        ];
        description?: string;
        state_id?: string;
        provenance?: Provenance;
    }
    Index
    asset_type: "url"

    Discriminator identifying this as a URL asset. See /schemas/creative/asset-types for the registry.

    url: MacroBearingURL
    url_type?: URLAssetType
    macro_declarations?: [
        {
            declaration_id: string;
            token: string;
            dialect: MacroDialectFamily;
            dialect_namespace?: string;
            dialect_revision?: string;
            dialect_semantic: string;
            mapping_status: MacroMappingStatus;
            universal_semantic?: UniversalMacro;
            operation: MacroProcessingOperation;
            performed_by?: MacroProcessingActor;
            translation_target?: {
                token: string;
                dialect: MacroDialectFamily;
                dialect_namespace?: string;
                dialect_revision?: string;
                dialect_semantic: string;
                mapping_status: MacroMappingStatus;
                universal_semantic?: UniversalMacro;
                next_operation: "resolve_value";
                performed_by: MacroProcessingActor;
                encoding: MacroEncoding;
            };
            location: {
                field: | "url"
                | "content"
                | "markup"
                | "ad_request_url"
                | "clickthrough_url";
                occurrence: number;
                context: MacroValueContext;
            };
            encoding: MacroEncoding;
            required: boolean;
            unavailable_behavior: | "preserve"
            | "omit_parameter"
            | "dialect_sentinel"
            | "reject";
        } & { location?: { field?: "url" } },
        ...(
            {
                declaration_id: string;
                token: string;
                dialect: MacroDialectFamily;
                dialect_namespace?: string;
                dialect_revision?: string;
                dialect_semantic: string;
                mapping_status: MacroMappingStatus;
                universal_semantic?: UniversalMacro;
                operation: MacroProcessingOperation;
                performed_by?: MacroProcessingActor;
                translation_target?: {
                    token: string;
                    dialect: MacroDialectFamily;
                    dialect_namespace?: string;
                    dialect_revision?: string;
                    dialect_semantic: string;
                    mapping_status: MacroMappingStatus;
                    universal_semantic?: UniversalMacro;
                    next_operation: "resolve_value";
                    performed_by: MacroProcessingActor;
                    encoding: MacroEncoding;
                };
                location: {
                    field: | "url"
                    | "content"
                    | "markup"
                    | "ad_request_url"
                    | "clickthrough_url";
                    occurrence: number;
                    context: MacroValueContext;
                };
                encoding: MacroEncoding;
                required: boolean;
                unavailable_behavior: | "preserve"
                | "omit_parameter"
                | "dialect_sentinel"
                | "reject";
            } & { location?: { field?: "url" } }
        )[],
    ]

    One declaration per token occurrence in url; declaration_id values MUST be unique and every location MUST identify an existing occurrence. Absence retains legacy opaque transport behavior.

    1

    description?: string

    Description of what this URL points to

    state_id?: string

    Binding used only when this URL populates a seller_rendered_stateful_display state_click_urls slot. It MUST match one declared states[].state_id (semantic validators resolve it); at most one entry per state. Omit for ordinary URL slots.

    provenance?: Provenance