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

    Interface ReportUsageRequest

    Reports how a vendor's service was consumed after campaign delivery. Used by orchestrators (DSPs, storefronts) to inform vendor agents (signals, governance, creative) what was used so the vendor can track earned revenue and verify billing. Records can span multiple accounts and campaigns in a single request.

    interface ReportUsageRequest {
        adcp_major_version?: number;
        idempotency_key: string;
        reporting_period: DatetimeRange;
        usage: {
            account: AccountReference;
            media_buy_id?: string;
            vendor_cost: number;
            currency: string;
            pricing_option_id?: string;
            impressions?: number;
            media_spend?: number;
            signal_agent_segment_id?: string;
            standards_id?: string;
            rights_id?: string;
            creative_id?: string;
            property_list_id?: string;
        }[];
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    adcp_major_version?: number

    The AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.

    1

    99

    idempotency_key: string

    Client-generated unique key for this request. If a request with the same key has already been accepted, the server returns the original response without re-processing. MUST be unique per (seller, request) pair to prevent cross-seller correlation. Use a fresh UUID v4 for each request. Prevents duplicate billing on retries.

    reporting_period: DatetimeRange
    usage: {
        account: AccountReference;
        media_buy_id?: string;
        vendor_cost: number;
        currency: string;
        pricing_option_id?: string;
        impressions?: number;
        media_spend?: number;
        signal_agent_segment_id?: string;
        standards_id?: string;
        rights_id?: string;
        creative_id?: string;
        property_list_id?: string;
    }[]

    One or more usage records. Each record is self-contained: it carries its own account, allowing a single request to span multiple accounts.

    Type Declaration

    • account: AccountReference
    • Optionalmedia_buy_id?: string

      Seller-assigned media buy identifier. Links this usage record to a specific media buy.

    • vendor_cost: number

      Amount owed to the vendor for this record, denominated in currency.

      0

    • currency: string

      ISO 4217 currency code.

      ^[A-Z]{3}$

    • Optionalpricing_option_id?: string

      Pricing option identifier from the vendor's discovery response (e.g., get_signals, list_content_standards). The vendor uses this to verify the correct rate was applied.

    • Optionalimpressions?: number

      Impressions delivered using this vendor service.

      0

    • Optionalmedia_spend?: number

      Media spend in currency for the period. Required when a percent_of_media pricing model was used, so the vendor can verify the applied rate.

      0

    • Optionalsignal_agent_segment_id?: string

      Signal identifier from get_signals. Required for signals agents.

    • Optionalstandards_id?: string

      Content standards configuration identifier. Required for governance agents.

    • Optionalrights_id?: string

      Rights grant identifier from acquire_rights. Required for brand/rights agents. Links usage records to specific rights grants for cap tracking, billing verification, and overage calculation.

    • Optionalcreative_id?: string

      Creative identifier from build_creative or list_creatives. Required for creative agents. Links usage records to specific creatives for billing verification.

    • Optionalproperty_list_id?: string

      Property list identifier from list_property_lists. Required for property list agents. Links usage records to specific property lists for billing verification.

    context?: ContextObject
    ext?: ExtensionObject