@adcp/client API Reference - v4.19.0
    Preparing search index...

    Interface PackageUpdate

    Package update configuration for update_media_buy. Identifies package by package_id and specifies fields to modify. Fields not present are left unchanged. Note: product_id, format_ids, and pricing_option_id cannot be changed after creation.

    interface PackageUpdate {
        package_id: string;
        budget?: number;
        pacing?: Pacing;
        bid_price?: number;
        impressions?: number;
        start_time?: string;
        end_time?: string;
        paused?: boolean;
        canceled?: true;
        cancellation_reason?: string;
        catalogs?: Catalog[];
        optimization_goals?: OptimizationGoal[];
        targeting_overlay?: TargetingOverlay;
        keyword_targets_add?: {
            keyword: string;
            match_type: "broad" | "phrase" | "exact";
            bid_price?: number;
        }[];
        keyword_targets_remove?: {
            keyword: string;
            match_type: "broad"
            | "phrase"
            | "exact";
        }[];
        negative_keywords_add?: {
            keyword: string;
            match_type: "broad"
            | "phrase"
            | "exact";
        }[];
        negative_keywords_remove?: {
            keyword: string;
            match_type: "broad"
            | "phrase"
            | "exact";
        }[];
        creative_assignments?: CreativeAssignment[];
        creatives?: CreativeAsset[];
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    package_id: string

    Seller's ID of package to update

    budget?: number

    Updated budget allocation for this package in the currency specified by the pricing option

    pacing?: Pacing
    bid_price?: number

    Updated bid price for auction-based pricing options. This is the exact bid/price to honor unless selected pricing_option has max_bid=true, in which case bid_price is the buyer's maximum willingness to pay (ceiling).

    impressions?: number

    Updated impression goal for this package

    start_time?: string

    Updated flight start date/time for this package in ISO 8601 format. Must fall within the media buy's date range.

    end_time?: string

    Updated flight end date/time for this package in ISO 8601 format. Must fall within the media buy's date range.

    paused?: boolean

    Pause/resume specific package (true = paused, false = active)

    canceled?: true

    Cancel this specific package. Cancellation is irreversible — canceled packages stop delivery and cannot be reactivated. Sellers MAY reject with NOT_CANCELLABLE.

    cancellation_reason?: string

    Reason for canceling this package.

    catalogs?: Catalog[]

    Replace the catalogs this package promotes. Uses replacement semantics — the provided array replaces the current list. Omit to leave catalogs unchanged.

    optimization_goals?: OptimizationGoal[]

    Replace all optimization goals for this package. Uses replacement semantics — omit to leave goals unchanged.

    targeting_overlay?: TargetingOverlay
    keyword_targets_add?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
        bid_price?: number;
    }[]

    Keyword targets to add or update on this package. Upserts by (keyword, match_type) identity: if the pair already exists, its bid_price is updated; if not, a new keyword target is added. Use targeting_overlay.keyword_targets in create_media_buy to set the initial list.

    Type Declaration

    • keyword: string

      The keyword to target

    • match_type: "broad" | "phrase" | "exact"

      Match type for this keyword

    • Optionalbid_price?: number

      Per-keyword bid price. Inherits currency and max_bid interpretation from the package's pricing option.

    keyword_targets_remove?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
    }[]

    Keyword targets to remove from this package. Removes matching (keyword, match_type) pairs. If a specified pair is not present, sellers SHOULD treat it as a no-op for that entry.

    Type Declaration

    • keyword: string

      The keyword to stop targeting

    • match_type: "broad" | "phrase" | "exact"

      Match type to remove

    negative_keywords_add?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
    }[]

    Negative keywords to add to this package. Appends to the existing negative keyword list — does not replace it. If a keyword+match_type pair already exists, sellers SHOULD treat it as a no-op for that entry. Use targeting_overlay.negative_keywords in create_media_buy to set the initial list.

    Type Declaration

    • keyword: string

      The keyword to exclude

    • match_type: "broad" | "phrase" | "exact"

      Match type for exclusion

    negative_keywords_remove?: {
        keyword: string;
        match_type: "broad" | "phrase" | "exact";
    }[]

    Negative keywords to remove from this package. Removes matching keyword+match_type pairs from the existing list. If a specified pair is not present, sellers SHOULD treat it as a no-op for that entry.

    Type Declaration

    • keyword: string

      The keyword to stop excluding

    • match_type: "broad" | "phrase" | "exact"

      Match type to remove

    creative_assignments?: CreativeAssignment[]

    Replace creative assignments for this package with optional weights and placement targeting. Uses replacement semantics - omit to leave assignments unchanged.

    creatives?: CreativeAsset[]

    Upload new creative assets and assign to this package (creatives will be added to library). Use creative_assignments instead for existing library creatives.

    context?: ContextObject
    ext?: ExtensionObject