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

    Interface AcquireRightsRequest

    Binding contractual request to acquire rights from a brand agent. Parallels create_media_buy — the buyer selects a pricing_option_id from a get_rights response and provides campaign details. The agent clears against existing contracts and returns terms, generation credentials, and disclosure requirements.

    interface AcquireRightsRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        rights_id: string;
        pricing_option_id: string;
        buyer: BrandReference;
        account?: AccountReference;
        campaign: {
            description: string;
            uses: RightUse[];
            countries?: string[];
            format_ids?: FormatReferenceStructuredObject[];
            estimated_impressions?: number;
            start_date?: string;
            end_date?: string;
        };
        revocation_webhook: PushNotificationConfig;
        push_notification_config?: PushNotificationConfig;
        idempotency_key: string;
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    adcp_version?: string

    Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.

    adcp_major_version?: number

    DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: 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.

    rights_id: string

    Rights offering identifier from get_rights response

    pricing_option_id: string

    Selected pricing option from the rights offering

    buyer: BrandReference
    account?: AccountReference
    campaign: {
        description: string;
        uses: RightUse[];
        countries?: string[];
        format_ids?: FormatReferenceStructuredObject[];
        estimated_impressions?: number;
        start_date?: string;
        end_date?: string;
    }

    Campaign details for rights clearance

    Type Declaration

    • description: string

      Description of how the rights will be used

    • uses: RightUse[]

      Specific rights uses for this campaign

    • Optionalcountries?: string[]

      Countries where the campaign will run (ISO 3166-1 alpha-2)

    • Optionalformat_ids?: FormatReferenceStructuredObject[]

      Creative formats that will be produced

    • Optionalestimated_impressions?: number

      Estimated total impressions for the campaign. Required when the brand agent will project commitment against a governance plan AND the selected pricing_option has model: 'cpm' — projection equals (pricing_option.price / 1000) × estimated_impressions evaluated in pricing_option.currency. The brand agent will project commitment whenever the request is governance-aware via either (a) an intent-phase governance_context token on the protocol envelope, or (b) account resolving to an account that has a governance agent previously bound via sync_governance. Brand agents MUST reject with INVALID_REQUEST (field: campaign.estimated_impressions) in either path when CPM-priced rights are requested and this field is omitted or zero; implementer-chosen defaults are non-conformant. See the acquire_rights task reference for the full validation contract including currency-mismatch handling.

      0

    • Optionalstart_date?: string

      Campaign start date (ISO 8601)

      date

    • Optionalend_date?: string

      Campaign end date (ISO 8601). Brand agents MUST reject with INVALID_REQUEST (field: campaign.end_date) when end_date is in the past at the time of the request — acquiring rights for an elapsed window produces a zero-duration grant and is almost always a buyer-side bug.

      date

    revocation_webhook: PushNotificationConfig
    push_notification_config?: PushNotificationConfig
    idempotency_key: string

    Client-generated key for safe retries. Resubmitting with the same key returns the original response rather than creating a duplicate acquisition. MUST be unique per (seller, request) pair to prevent cross-seller correlation. Use a fresh UUID v4 for each request.

    16

    255

    ^[A-Za-z0-9_.:-]{16,255}$

    context?: ContextObject
    ext?: ExtensionObject