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

    Class SingleAgentClient

    Index
    getAdcpVersion recoverDirectPauseContinuation handleWebhook verifyAndParseWebhook getWebhookUrl createWebhookHandler verifyWebhookSignature getProducts listProducts getProductsLegacy listCreativeFormatsLegacy listTransformersLegacy createMediaBuy createMediaBuyLegacy updateMediaBuy updateMediaBuyLegacy syncCreatives syncCreativesLegacy listCreatives listCreativesLegacy previewCreative previewCreativeLegacy getMediaBuys getMediaBuyDelivery getCreativeDelivery providePerformanceFeedback getSignals activateSignal syncPlans getPlanAuditLogs reportGovernanceOutcome getAdcpCapabilities buildCreativeLegacy listAccountChanges getPrincipal syncPrincipal listAccounts resolveAccount syncAccounts syncAudiences createPropertyList getPropertyList updatePropertyList listPropertyLists deletePropertyList listContentStandardsLegacy getContentStandardsLegacy calibrateContentLegacy validateContentDeliveryLegacy siGetOffering siInitiateSession siSendMessage siTerminateSession executeTask executeCustomTask executeTaskLegacy resumeDeferredTask continueConversation getConversationHistory clearConversationHistory getAgent getResolvedAgent getAgentId getAgentName getProtocol getCanonicalUrl resolveCanonicalUrl isSameAgent isSameAgentResolved getActiveTasks listTasks getTaskInfo onTaskUpdate onTaskEvents registerWebhook unregisterWebhook getAgentInfo getCapabilities getCapabilityEvidenceScope primeCapabilities detectServerVersion isSyntheticV2 supportsVersion getIdempotencyReplayTtlSeconds supports require refreshCapabilities requireSupportedMajor requireV3 discoverCreativeFormatsLegacy
    • Returns the AdCP protocol version this client is configured to speak.

      Defaults to ADCP_VERSION (the GA version the SDK ships against) unless overridden via new SingleAgentClient(agent, { adcpVersion }).

      Plumbing surface — Stage 2 of the multi-version refactor exposes the configured value but does not yet vary validator/schema selection by version. Wire-shape adapters key off this method in subsequent stages.

      Returns string

    • Handle webhook from agent (async task status updates and completions)

      Accepts webhook payloads from both MCP and A2A protocols:

      1. MCP: MCPWebhookPayload envelope with AdCP data in .result field
      2. A2A: Native Task/TaskStatusUpdateEvent with AdCP data in either:
        • status.message.parts[].data (for status updates)
        • artifacts (for task completion, per A2A spec)

      The method normalizes both formats so handlers receive the unwrapped AdCP response data (AdCPAsyncResponseData), not the raw protocol structure. Registered callbacks require trusted HTTP method and public-URL context; use createWebhookHandler() or verifyAndParseWebhook() for those flows.

      Parameters

      • payload: MCPWebhookPayload | A2ATask | TaskStatusUpdateEvent

        Protocol-specific webhook payload (MCPWebhookPayload | Task | TaskStatusUpdateEvent)

      • taskType: string

        Task type (e.g create_media_buy) from url param or url part of the webhook delivery

      • operationId: string

        Operation id (e.g used for client app to track the operation) from the param or url part of the webhook delivery

      • Optionalsignature: WebhookHeaderValue

        X-ADCP-Signature header (format: "sha256=...")

      • Optionaltimestamp: WebhookHeaderValue

        X-ADCP-Timestamp header (Unix timestamp)

      • OptionalrawBody: string | Uint8Array<ArrayBufferLike> | Buffer<ArrayBufferLike>
      • OptionalrequestContext: WebhookRequestContext

        Trusted method and public URL. Required for registered callbacks.

      Returns Promise<boolean>

      Whether webhook was handled successfully

      app.post(
      '/webhook/:task_type/:operation_id',
      express.raw({ type: 'application/json' }),
      client.createWebhookHandler({
      getRequestUrl: req => `https://buyer.example${req.originalUrl}`,
      }),
      );

      createWebhookHandler() preserves the SDK's typed HTTP mapping: authentication failures return 401, invalid/conflicting deliveries return 400/409, rate abuse returns 429, and transient verification, storage, or publication failures return 503 for seller retry. Do not map every handleWebhook() exception to 401.

    • Verify and normalize an inbound webhook without dispatching handlers.

      This is the lower-level receiver primitive for integrations that need to map malformed webhooks to precise HTTP responses. It verifies the mode selected by the trusted outbound registration (RFC 9421 by default, or legacy HMAC when webhookSecret was used), parses raw JSON bodies, validates the transport envelope shape, and returns the canonicalized AdCP result plus routing metadata. Legacy wire inspection is intentionally confined to the transport adapter and is not returned by this primary API. Every registered callback must include its trusted HTTP method and externally visible absolute request URL so the persisted callback target is enforced.

      Parameters

      Returns Promise<WebhookParseResult>

    • Generate webhook URL using macro substitution

      Parameters

      • taskType: string

        Type of task (e.g., 'get_products', 'media_buy_delivery')

      • operationId: string

        Operation ID for this request

      Returns string

      Full webhook URL with macros replaced

      // With template: "https://myapp.com/webhook/{task_type}/{agent_id}/{operation_id}"
      const webhookUrl = client.getWebhookUrl('sync_creatives', 'op_123');
      // Returns: https://myapp.com/webhook/sync_creatives/agent_x/op_123

      // With template: "https://myapp.com/webhook?agent={agent_id}&op={operation_id}"
      const webhookUrl = client.getWebhookUrl('sync_creatives', 'op_123');
      // Returns: https://myapp.com/webhook?agent=agent_x&op=op_123
    • Create an HTTP webhook handler that automatically verifies signatures

      This helper creates a standard HTTP handler (Express/Next.js/etc.) that:

      • Reads the full header bag so duplicate/conflicting signature headers are rejected
      • Verifies the registered RFC 9421 or legacy HMAC signature mode
      • Validates signature freshness and RFC 9421 nonce replay
      • Calls handleWebhook() with proper error handling

      Parameters

      Returns (
          req: WebhookHandlerRequest,
          res: {
              status: (code: number) => { json: (body: unknown) => void };
              json?: unknown;
              writeHead: (code: number, headers: Record<string, string>) => void;
              end: (body: string) => void;
          },
      ) => Promise<void>

      HTTP handler function compatible with Express-style adapters.

      const client = new SingleAgentClient(agent, {
      webhookUrlTemplate: 'https://buyer.example/webhook/{task_type}/{operation_id}',
      handlers: {
      onSyncCreativesStatusChange: async (result) => {
      console.log('Creative synced:', result);
      }
      }
      });

      app.post(
      '/webhook/:task_type/:operation_id',
      express.raw({ type: 'application/json' }),
      client.createWebhookHandler({
      getRequestUrl: req => `https://buyer.example${req.originalUrl}`,
      }),
      );
    • Verify webhook signature using HMAC-SHA256 per AdCP spec.

      HMAC is computed over the raw HTTP body bytes — the exact bytes received on the wire, before JSON parsing. This ensures cross-language interop since different JSON serializers may produce different byte representations of the same logical payload.

      For backward compatibility, a parsed object is still accepted but will be re-serialized with JSON.stringify, which may not match the sender's bytes. Always prefer passing the raw body string.

      Signature format: sha256={hex_signature} Message format: {timestamp}.{raw_body}

      Parameters

      • rawBodyOrPayload: unknown

        Raw HTTP body string (preferred) or parsed payload object (deprecated)

      • signature: WebhookHeaderValue

        X-ADCP-Signature header value (format: "sha256=...")

      • timestamp: WebhookHeaderValue

        X-ADCP-Timestamp header value (Unix timestamp)

      Returns boolean

      true if signature is valid

    • Discover available advertising products

      brand is optional when catalog is absent, including for the brief-only request below. Requests with catalog must include brand; otherwise, include it whenever discovery should account for a specific advertiser.

      Parameters

      • params: CanonicalGetProductsRequest

        Product discovery parameters

      • OptionalinputHandler: InputHandler

        Handler for clarification requests

      • Optionaloptions: CanonicalReadTaskOptions

        Task execution options

      Returns Promise<TaskResult<CanonicalGetProductsResponse>>

      const products = await client.getProducts(
      {
      buying_mode: 'brief',
      brief: 'Find podcast and streaming audio placements for an eco-friendly bike subscription launch'
      },
      (context) => {
      if (context.inputRequest.field === 'budget') return 50000;
      return context.deferToHuman();
      }
      );
    • Parameters

      • params: {
            adcp_version?: string;
            adcp_major_version?: number;
            request_type: "single" | "batch" | "variant";
            creative_manifest?: LegacyCreativeManifest;
            target_capability_id?: string;
            format_id?: LegacyFormatReferenceStructuredObject;
            inputs?: {
                name: string;
                macros?: { [k: string]: string | undefined };
                context_description?: string;
            }[];
            template_id?: string;
            quality?: CreativeQuality;
            output_format?: PreviewOutputFormat;
            item_limit?: number;
            requests?: {
                target_capability_id?: string;
                format_id?: LegacyFormatReferenceStructuredObject;
                creative_manifest?: LegacyCreativeManifest;
                creative_id?: string;
                inputs?: {
                    name: string;
                    macros?: { [k: string]: string
                    | undefined };
                    context_description?: string;
                }[];
                template_id?: string;
                quality?: CreativeQuality;
                output_format?: PreviewOutputFormat;
                item_limit?: number;
            }[];
            variant_id?: string;
            creative_id?: string;
            allow_async?: boolean;
            push_notification_config?: PushNotificationConfig;
            context?: ContextObject;
            ext?: ExtensionObject;
        }
        • Optionaladcp_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.

        • Optionaladcp_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.

        • request_type: "single" | "batch" | "variant"

          Preview mode. 'single' previews one creative manifest. 'batch' previews multiple creatives in one call. 'variant' replays a post-flight variant by ID.

        • Optionalcreative_manifest?: LegacyCreativeManifest
        • Optionaltarget_capability_id?: string

          Canonical preview-operation selector. Identifies one get_adcp_capabilities creative.supported_formats[].capability_id entry whose operations contains preview. In single mode it selects the renderer for this request; in batch mode it is the default for items that omit their own target_capability_id. When omitted, the agent MAY resolve the renderer only if exactly one advertised preview capability satisfies the manifest's canonical declaration; zero matches or multiple matches MUST be rejected with FORMAT_NOT_SUPPORTED rather than choosing nondeterministically. Mutually exclusive with deprecated format_id.

          ^[a-zA-Z0-9_-]+$

        • Optionalformat_id?: LegacyFormatReferenceStructuredObject
        • Optionalinputs?: {
              name: string;
              macros?: { [k: string]: string | undefined };
              context_description?: string;
          }[]

          Array of input sets for generating multiple preview variants. Each input set defines macros and context values for one preview rendering. Used in single mode.

        • Optionaltemplate_id?: string

          Specific template ID for custom format rendering. Used in single mode.

        • Optionalquality?: CreativeQuality
        • Optionaloutput_format?: PreviewOutputFormat
        • Optionalitem_limit?: number

          Maximum number of catalog items to render per preview variant. Used in single mode. Creative agents SHOULD default to a reasonable sample when omitted and the catalog is large.

          1

          int

        • Optionalrequests?: {
              target_capability_id?: string;
              format_id?: LegacyFormatReferenceStructuredObject;
              creative_manifest?: LegacyCreativeManifest;
              creative_id?: string;
              inputs?: {
                  name: string;
                  macros?: { [k: string]: string | undefined };
                  context_description?: string;
              }[];
              template_id?: string;
              quality?: CreativeQuality;
              output_format?: PreviewOutputFormat;
              item_limit?: number;
          }[]

          Array of preview requests (1-50 items). Required when request_type is 'batch'. Each item follows the single request structure.

          50

        • Optionalvariant_id?: string

          Agent-assigned AdCP served-execution identifier from get_creative_delivery. Required when request_type is 'variant'. It is agent-unique when the source agent advertises creative.supports_revisions; for legacy agents the published scope remains agent plus creative, and callers SHOULD also send creative_id to disambiguate reused values.

        • Optionalcreative_id?: string

          Creative-library identifier. In single mode, previews the stored canonical creative without requiring the caller to reconstruct its manifest. Also available as context in variant mode.

        • Optionalallow_async?: boolean

          Opt in to an asynchronous preview response. When true, the creative agent MAY return status 'submitted' with a task_id only when rendering has been handed to a queue or external renderer and will continue after the request connection is released. Active processing on an open connection uses working progress instead. The buyer polls get_task_status for completion. When false or absent, the agent MUST return a synchronous preview response or a terminal protocol error; it MUST NOT return the submitted shape. This field applies to preview_creative only; build_creative already defines its own async lifecycle.

        • Optionalpush_notification_config?: PushNotificationConfig
        • Optionalcontext?: ContextObject
        • Optionalext?: ExtensionObject
      • OptionalinputHandler: InputHandler
      • Optionaloptions: TaskOptions

      Returns Promise<TaskResult<LegacyPreviewCreativeResponse>>

      Migration-only access to format_id-based creative preview.

    • Get media buy status, creative approvals, and optional delivery snapshots

      Parameters

      • params: GetMediaBuysRequest

        Request parameters

      • OptionalinputHandler: InputHandler

        Handler for clarification requests

      • Optionaloptions: CanonicalReadTaskOptions

        Task execution options

      Returns Promise<
          TaskResult<
              {
                  context_id?: string;
                  context?: {};
                  task_id?: string;
                  status: TaskStatus;
                  message?: string;
                  timestamp?: string;
                  replayed?: boolean;
                  adcp_error?: {
                      code: string;
                      message: string;
                      buyer_reason?: { 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: ...; value: ... }[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  };
                  push_notification_config?: {
                      url: string;
                      operation_id?: string;
                      token?: string;
                      authentication?: {
                          schemes: [AuthenticationScheme];
                          credentials: string;
                      };
                  };
                  governance_context?: string;
                  payload?: {};
                  adcp_version?: string;
                  adcp_major_version?: number;
                  media_buys: {
                      media_buy_id: string;
                      name?: string;
                      accepted_proposal_id?: string;
                      accepted_proposal_terms_digest?: string;
                      accepted_proposal?: {
                          proposal_id: string;
                          proposal_kind: | "new_media_buy"
                          | "media_buy_update"
                          | "media_buy_cancellation";
                          parent_proposal_id?: string;
                          media_buy_id: string;
                          opportunity_id?: string;
                          base_media_buy_revision?: number;
                          proposal_status: "accepted";
                          accepted_at?: string;
                          expires_at?: string;
                          name: string;
                          description?: string;
                          brief_alignment?: string;
                          commercial_terms: {
                              source_feed_version?: string;
                              source_pricing_version?: string;
                              brand: {
                                  domain: string;
                                  brand_id?: string;
                                  countries?: [(...), ...(...)[]];
                              };
                              advertiser_industry?: AdvertiserIndustry;
                              purchases: [
                                  {
                                      product_id: string;
                                      pricing_option_id: string;
                                      pricing?: (...)
                                      | (...);
                                      format_option_refs?: (...) | (...);
                                      catalog_ids?: (...) | (...);
                                      budget?: (...) | (...);
                                      daily_budget_cap?: (...) | (...);
                                      min_spend_target?: (...) | (...);
                                      impressions?: (...) | (...);
                                      start_time?: (...) | (...);
                                      end_time?: (...) | (...);
                                      pacing?: (...) | (...);
                                      bidding?: (...) | (...);
                                      targeting_overlay?: (...) | (...);
                                      optimization_goals?: (...) | (...);
                                      audience_evidence_requirements?: (...) | (...);
                                      audience_evidence_pins?: (...) | (...);
                                      agency_estimate_number?: (...) | (...);
                                      context?: (...) | (...);
                                      ext?: (...) | (...);
                                      measurement_terms?: (...) | (...);
                                      performance_standards?: (...) | (...);
                                  },
                                  ...{
                                      product_id: string;
                                      pricing_option_id: string;
                                      pricing?: (...)
                                      | (...);
                                      format_option_refs?: (...) | (...);
                                      catalog_ids?: (...) | (...);
                                      budget?: (...) | (...);
                                      daily_budget_cap?: (...) | (...);
                                      min_spend_target?: (...) | (...);
                                      impressions?: (...) | (...);
                                      start_time?: (...) | (...);
                                      end_time?: (...) | (...);
                                      pacing?: (...) | (...);
                                      bidding?: (...) | (...);
                                      targeting_overlay?: (...) | (...);
                                      optimization_goals?: (...) | (...);
                                      audience_evidence_requirements?: (...) | (...);
                                      audience_evidence_pins?: (...) | (...);
                                      agency_estimate_number?: (...) | (...);
                                      context?: (...) | (...);
                                      ext?: (...) | (...);
                                      measurement_terms?: (...) | (...);
                                      performance_standards?: (...) | (...);
                                  }[],
                              ];
                              start_time: string;
                              end_time: string;
                              total_budget?: { amount: number; currency: string };
                              daily_budget_cap?: number;
                              frequency_cap?: {
                                  suppress?: (...) | (...);
                                  suppress_minutes?: (...) | (...);
                                  max_impressions?: (...) | (...);
                                  per?: (...) | (...);
                                  window?: (...) | (...);
                              };
                              budget_cap_timezone?: string;
                              budget_allocation?: | { mode: "fixed" }
                              | {
                                  mode: "seller_optimized";
                                  optimization_goals: [(...), ...(...)[]];
                              };
                              pacing?: Pacing;
                              bidding?: {
                                  automatic?: (...)
                                  | (...);
                                  bid_amount?: (...) | (...);
                                  max_bid?: (...) | (...);
                                  cost_per?: (...) | (...);
                                  roas?: (...) | (...);
                              };
                              invoice_recipient?: {
                                  legal_name: string;
                                  vat_id?: (...)
                                  | (...);
                                  tax_id?: (...) | (...);
                                  registration_number?: (...) | (...);
                                  address?: (...) | (...);
                                  contacts?: (...) | (...);
                                  bank?: (...) | (...);
                                  ext?: (...) | (...);
                              };
                              purchase_order_ref?: string;
                              agency_estimate_number?: string;
                              reporting_commitments?: [
                                  { purchase_index: ...; metrics: ... },
                                  ...{ purchase_index: ...; metrics: ... }[],
                              ];
                              cancellation_terms?: {
                                  effective_at: string;
                                  fee?: (...) | (...);
                                  reason?: (...) | (...);
                              };
                              change_terms?: [
                                  {
                                      term_id: ...;
                                      action: ...;
                                      service_mode: ...;
                                      allowed_statuses?: ...;
                                      processing_sla?: ...;
                                      conditions?: ...;
                                      constraints?: ...;
                                      terms_ref?: ...;
                                      description?: ...;
                                      ext?: ...;
                                  },
                                  ...{
                                      term_id: ...;
                                      action: ...;
                                      service_mode: ...;
                                      allowed_statuses?: ...;
                                      processing_sla?: ...;
                                      conditions?: ...;
                                      constraints?: ...;
                                      terms_ref?: ...;
                                      description?: ...;
                                      ext?: ...;
                                  }[],
                              ];
                          };
                          terms_digest: string;
                          insertion_order?: {
                              io_id: string;
                              terms?: {
                                  advertiser?: ...;
                                  publisher?: ...;
                                  total_budget?: ...;
                                  flight_start?: ...;
                                  flight_end?: ...;
                                  payment_terms?: ...;
                              };
                              terms_url?: string;
                              signing_url?: string;
                              requires_signature: boolean;
                          };
                          total_budget_guidance?: {
                              min?: number;
                              recommended?: number;
                              max?: number;
                              currency: string;
                          };
                          forecast?: {
                              points: [
                                  {
                                      label?: ...;
                                      budget?: ...;
                                      product_id?: ...;
                                      dimensions?: ...;
                                      availability_status?: ...;
                                      metrics: ...;
                                      viewability?: ...;
                                      vendor_metric_values?: ...;
                                  },
                                  ...{
                                      label?: ...;
                                      budget?: ...;
                                      product_id?: ...;
                                      dimensions?: ...;
                                      availability_status?: ...;
                                      metrics: ...;
                                      viewability?: ...;
                                      vendor_metric_values?: ...;
                                  }[],
                              ];
                              forecast_range_unit?: ForecastRangeUnit;
                              method: ForecastMethod;
                              currency: string;
                              demographic_system?: DemographicSystem;
                              demographic?: string;
                              measurement_source?: string;
                              reach_unit?: ReachUnit;
                              generated_at?: string;
                              valid_until?: string;
                              ext?: { [key: ...]: ... };
                          };
                      };
                      account?: {
                          account_id: string;
                          name: string;
                          advertiser?: string;
                          billing_proxy?: string;
                          status: AccountStatus;
                          brand?: {
                              domain: string;
                              brand_id?: string;
                              countries?: [(...), ...(...)[]];
                              industries?: (...)[];
                              data_subject_contestation?: {};
                              brand_kit_override?: {
                                  logo?: ...;
                                  colors?: ...;
                                  voice?: ...;
                                  tagline?: ...;
                              };
                          };
                          operator?: string;
                          operator_unit?: { id: string; name?: string };
                          revision?: number;
                          identity_change?:
                              | {
                                  status: "pending_approval";
                                  requested_operator_identity: {
                                      operator: string;
                                      operator_unit?: (...)
                                      | (...);
                                  };
                                  requested_at?: string;
                              }
                              | {
                                  status: "rejected";
                                  requested_operator_identity: {
                                      operator: string;
                                      operator_unit?: (...)
                                      | (...);
                                  };
                                  requested_at?: string;
                                  reason: string;
                              };
                          currency?: string;
                          timezone?: string;
                          billing?: BillingParty;
                          billing_entity?: {
                              legal_name: string;
                              vat_id?: string;
                              tax_id?: string;
                              registration_number?: string;
                              address?: {
                                  street: ...;
                                  city: ...;
                                  postal_code: ...;
                                  region?: ...;
                                  country: ...;
                              };
                              contacts?: (...)[];
                              bank?: {
                                  account_holder: ...;
                                  iban?: ...;
                                  bic?: ...;
                                  routing_number?: ...;
                                  account_number?: ...;
                              };
                              ext?: { [key: ...]: ... };
                          };
                          destination_billing_entity?: {};
                          rate_card?: string;
                          payment_terms?: PaymentTerms;
                          credit_limit?: { amount: number; currency: string };
                          setup?: { url?: string; message: string; expires_at?: string };
                          account_scope?: AccountScope;
                          governance_agents?: [{ url: string }];
                          reporting_bucket?: {
                              protocol: CloudStorageProtocol;
                              bucket: string;
                              prefix?: string;
                              region?: string;
                              format?: "jsonl" | "csv" | "parquet" | "avro" | "orc";
                              compression?: "none" | "gzip";
                              file_retention_days: number;
                              setup_instructions?: string;
                          };
                          sandbox?: boolean;
                          notification_configs?: {
                              subscriber_id: string;
                              url: string;
                              event_types: [(...), ...(...)[]];
                              product_payload_view?: (...) | (...) | (...);
                              authentication?: (...) | (...);
                              active?: (...) | (...) | (...);
                              ext?: (...) | (...);
                          }[];
                          reporting_delivery_configs?: {
                              configuration: {
                                  delivery_config_id: ...;
                                  delivery_config_version: ...;
                                  offering_id: ...;
                                  active: ...;
                                  feed_purpose: ...;
                                  report_definition_id: ...;
                                  reporting_profile: ...;
                                  scope: ...;
                                  coverage_requirement: ...;
                                  required_finality: ...;
                                  reconciliation_mode: ...;
                                  authoritative_party?: ...;
                                  schedule: ...;
                                  method?: ...;
                                  revocation_effective_at?: ...;
                              };
                              state: ReportingDeliveryConfigurationLifecycleState;
                              destination_ref?: (...)
                              | (...);
                              validated_at?: (...) | (...);
                              activated_at?: (...) | (...);
                              deactivated_at?: (...) | (...);
                              publication_stopped_at?: (...) | (...);
                              seller_managed_access_ends_at?: (...) | (...);
                              current_coverage?: (...) | (...);
                              setup?: (...) | (...);
                              issues?: (...) | (...);
                          }[];
                          webhook_activity?: {
                              idempotency_key: string;
                              notification_id?: (...)
                              | (...);
                              subscriber_id?: (...) | (...);
                              fired_at: string;
                              completed_at?: (...) | (...) | (...);
                              notification_type: NotificationType;
                              sequence_number?: (...) | (...);
                              attempt: number;
                              status: (...) | (...) | (...) | (...) | (...);
                              url: string;
                              http_status_code?: (...) | (...) | (...);
                              response_time_ms?: (...) | (...) | (...);
                              payload_size_bytes?: (...) | (...);
                              error_message?: (...) | (...) | (...);
                              ext?: (...) | (...);
                          }[];
                          ext?: { [key: string]: unknown };
                      };
                      invoice_recipient?: {
                          legal_name: string;
                          vat_id?: string;
                          tax_id?: string;
                          registration_number?: string;
                          address?: {
                              street: string;
                              city: string;
                              postal_code: string;
                              region?: string;
                              country: string;
                          };
                          contacts?: {
                              role: (...)
                              | (...)
                              | (...)
                              | (...);
                              name?: (...) | (...);
                              email?: (...) | (...);
                              phone?: (...) | (...);
                          }[];
                          bank?: {
                              account_holder: string;
                              iban?: string;
                              bic?: string;
                              routing_number?: string;
                              account_number?: string;
                          };
                          ext?: { [key: string]: unknown };
                      };
                      status: MediaBuyStatus;
                      status_as_of?: string
                      | null;
                      health?: "ok" | "impaired";
                      impairments?: {
                          impairment_id: string;
                          resource_type:
                              | "creative"
                              | "property"
                              | "audience"
                              | "catalog_item"
                              | "event_source";
                          resource_id: string;
                          package_ids: [string, ...string[]];
                          transition: { from?: string; to: ImpairmentOfflineState };
                          reason_code: ImpairmentReasonCode;
                          reason?: string;
                          observed_at: string;
                          remediation?: string;
                      }[];
                      rejection_reason?: string;
                      currency: string;
                      total_budget?: number;
                      daily_budget_cap?: number;
                      frequency_cap?: {
                          suppress?: {
                              interval: number;
                              unit: "campaign"
                              | "seconds"
                              | "minutes"
                              | "hours"
                              | "days";
                          };
                          suppress_minutes?: number;
                          max_impressions?: number;
                          per?: ReachUnit;
                          window?: {
                              interval: number;
                              unit: "campaign"
                              | "seconds"
                              | "minutes"
                              | "hours"
                              | "days";
                          };
                      };
                      budget_cap_timezone?: string;
                      budget_allocation?: | { mode: "fixed" }
                      | {
                          mode: "seller_optimized";
                          optimization_goals: [
                              | {
                                  kind: "metric";
                                  metric: | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                                  standard?: (...) | (...);
                                  vendor?: (...) | (...);
                                  reach_unit?: (...) | (...);
                                  target_frequency?: (...) | (...);
                                  view_duration_seconds?: (...) | (...);
                                  target?: (...) | (...) | (...);
                                  priority?: (...) | (...);
                              }
                              | {
                                  kind: "event";
                                  event_sources: (...)[];
                                  target?: (...) | (...) | (...) | (...);
                                  attribution_window?: (...) | (...);
                                  priority?: (...) | (...);
                              }
                              | {
                                  kind: "vendor_metric";
                                  vendor: {
                                      domain: ...;
                                      brand_id?: ...;
                                      countries?: ...;
                                      industries?: ...;
                                      data_subject_contestation?: ...;
                                      brand_kit_override?: ...;
                                  };
                                  metric_id: string;
                                  target?: (...)
                                  | (...)
                                  | (...);
                                  priority?: (...) | (...);
                              },
                              ...(
                                  | {
                                      kind: "metric";
                                      metric: | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...)
                                      | (...);
                                      standard?: (...) | (...);
                                      vendor?: (...) | (...);
                                      reach_unit?: (...) | (...);
                                      target_frequency?: (...) | (...);
                                      view_duration_seconds?: (...) | (...);
                                      target?: (...) | (...) | (...);
                                      priority?: (...) | (...);
                                  }
                                  | {
                                      kind: "event";
                                      event_sources: (...)[];
                                      target?: (...) | (...) | (...) | (...);
                                      attribution_window?: (...) | (...);
                                      priority?: (...) | (...);
                                  }
                                  | {
                                      kind: "vendor_metric";
                                      vendor: {
                                          domain: ...;
                                          brand_id?: ...;
                                          countries?: ...;
                                          industries?: ...;
                                          data_subject_contestation?: ...;
                                          brand_kit_override?: ...;
                                      };
                                      metric_id: string;
                                      target?: (...)
                                      | (...)
                                      | (...);
                                      priority?: (...) | (...);
                                  }
                              )[],
                          ];
                      };
                      pacing?: Pacing;
                      bidding?: {
                          automatic?: true;
                          bid_amount?: number;
                          max_bid?: number;
                          cost_per?: { amount: number; strength: "cap"
                          | "target" };
                          roas?: { value: number; strength: "target" | "floor" };
                      };
                      start_time?: string;
                      end_time?: string;
                      creative_deadline?: string;
                      confirmed_at?: string
                      | null;
                      cancellation?: {
                          canceled_at: string;
                          canceled_by: CanceledBy;
                          reason?: string;
                      };
                      revision?: number;
                      created_at?: string;
                      updated_at?: string;
                      context?: {};
                      valid_actions?: MediaBuyValidAction[];
                      available_actions?: (
                          | {
                              action: MediaBuyAvailableActionID;
                              mode: MediaBuyActionMode;
                              task?: "sync_creatives"
                              | "control_media_buy"
                              | "refine_proposals";
                              sla?: { response_max?: ...; completion_max?: ... };
                              change_term_id?: string;
                              terms_ref?: string;
                              applicable_package_ids?: (...)[];
                          }
                          | {
                              task: "sync_creatives"
                              | "control_media_buy"
                              | "refine_proposals";
                              action: string;
                              mode: CanonicalMediaBuyActionMode;
                              sla?: { response_max?: ...; completion_max?: ... };
                              change_term_id?: string;
                              terms_ref?: string;
                              applicable_package_ids?: [(...), ...(...)[]];
                          }
                      )[];
                      webhook_activity?: {
                          idempotency_key: string;
                          notification_id?: string;
                          subscriber_id?: string;
                          fired_at: string;
                          completed_at?: string
                          | null;
                          notification_type: NotificationType;
                          sequence_number?: number;
                          attempt: number;
                          status:
                              | "failed"
                              | "pending"
                              | "success"
                              | "timeout"
                              | "connection_error";
                          url: string;
                          http_status_code?: number
                          | null;
                          response_time_ms?: number | null;
                          payload_size_bytes?: number;
                          error_message?: string | null;
                          ext?: { [key: string]: unknown };
                      }[];
                      history?: {
                          revision: number;
                          timestamp: string;
                          actor?: string;
                          action: string;
                          summary?: string;
                          package_id?: string;
                          ext?: { [key: string]: unknown };
                      }[];
                      packages: {
                          package_id: string;
                          product_id?: string;
                          budget?: number;
                          min_spend_target?: number;
                          daily_budget_cap?: number;
                          currency?: string;
                          bid_price?: number;
                          bidding?: {
                              automatic?: true;
                              bid_amount?: number;
                              max_bid?: number;
                              cost_per?: { amount: ...; strength: ... };
                              roas?: { value: ...; strength: ... };
                          };
                          optimization_goals?: (
                              | {
                                  kind: ...;
                                  metric: ...;
                                  standard?: ...;
                                  vendor?: ...;
                                  reach_unit?: ...;
                                  target_frequency?: ...;
                                  view_duration_seconds?: ...;
                                  target?: ...;
                                  priority?: ...;
                              }
                              | {
                                  kind: ...;
                                  event_sources: ...;
                                  target?: ...;
                                  attribution_window?: ...;
                                  priority?: ...;
                              }
                              | {
                                  kind: ...;
                                  vendor: ...;
                                  metric_id: ...;
                                  target?: ...;
                                  priority?: ...;
                              }
                          )[];
                          format_option_refs?: (
                              | { scope: ...; publisher_domain: ...; format_option_id: ... }
                              | { scope: ...; format_option_id: ...; publisher_domain?: ... }
                          )[];
                          format_kind?: CanonicalFormatKind;
                          params?: {};
                          impressions?: number;
                          pacing?: Pacing;
                          targeting_overlay?: {
                              geo_countries?: [(...), ...(...)[]];
                              geo_countries_exclude?: [(...), ...(...)[]];
                              geo_regions?: [(...), ...(...)[]];
                              geo_regions_exclude?: [(...), ...(...)[]];
                              geo_metros?: [(...), ...(...)[]];
                              geo_metros_exclude?: [(...), ...(...)[]];
                              geo_postal_areas?: [(...), ...(...)[]];
                              geo_postal_areas_exclude?: [(...), ...(...)[]];
                              geo_places?: [(...), ...(...)[]];
                              geo_places_exclude?: [(...), ...(...)[]];
                              daypart_targets?: [(...), ...(...)[]];
                              axe_include_segment?: string;
                              axe_exclude_segment?: string;
                              audience_include?: [(...), ...(...)[]];
                              audience_exclude?: [(...), ...(...)[]];
                              signal_targeting_groups?: { operator: ...; groups: ... };
                              signal_targeting?: [(...), ...(...)[]];
                              demographics?: { age: ... };
                              frequency_cap?: {
                                  suppress?: ...;
                                  suppress_minutes?: ...;
                                  max_impressions?: ...;
                                  per?: ...;
                                  window?: ...;
                              };
                              property_list?: { agent_url: ...; list_id: ...; auth_token?: ... };
                              property_list_exclude?: {
                                  agent_url: ...;
                                  list_id: ...;
                                  auth_token?: ...;
                              };
                              collection_list?: { agent_url: ...; list_id: ...; auth_token?: ... };
                              collection_list_exclude?: {
                                  agent_url: ...;
                                  list_id: ...;
                                  auth_token?: ...;
                              };
                              placement_selection?: | { mode: ...; placement_refs: ...; ext?: ... }
                              | { mode: ...; ext?: ... };
                              collection_selection?:
                                  | { mode: ...; collections: ...; ext?: ... }
                                  | { mode: ...; ext?: ... };
                              age_restriction?: {
                                  min: ...;
                                  verification_required?: ...;
                                  accepted_methods?: ...;
                              };
                              device_platform?: [(...), ...(...)[]];
                              device_platform_exclude?: [(...), ...(...)[]];
                              device_type?: [(...), ...(...)[]];
                              device_type_exclude?: [(...), ...(...)[]];
                              browser?: [(...), ...(...)[]];
                              browser_exclude?: [(...), ...(...)[]];
                              store_catchments?: [(...), ...(...)[]];
                              geo_proximity?: [(...), ...(...)[]];
                              language?: [(...), ...(...)[]];
                              keyword_targets?: [(...), ...(...)[]];
                              negative_keywords?: [(...), ...(...)[]];
                          };
                          targeting_resolution?: {
                              demographics: {
                                  requested: { age: ... };
                                  applied: { age: ... };
                                  equivalent: true;
                                  execution: (...) | (...) | (...);
                                  applied_bases?: (...) | (...);
                                  applied_verification_methods?: (...) | (...);
                                  ext?: (...) | (...);
                              };
                              ext?: { [key: ...]: ... };
                          };
                          start_time?: string;
                          end_time?: string;
                          paused?: boolean;
                          canceled?: boolean;
                          cancellation?: {
                              canceled_at: string;
                              canceled_by: CanceledBy;
                              reason?: string;
                          };
                          creative_deadline?: string;
                          context?: {};
                          creative_approvals?: {
                              creative_id: string;
                              approval_status?: (...)
                              | (...);
                              rejection_reason?: (...) | (...);
                              approval_scopes?: (...) | (...);
                              indicators?: (...) | (...);
                              indicator_types_evaluated?: (...) | (...);
                              indicators_as_of?: (...) | (...);
                              indicators_evaluated_scope?: (...) | (...);
                          }[];
                          formats_to_provide?: (
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                          )[];
                          formats_pending?: (
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                              | {
                                  format_option_id?: ...;
                                  publisher_domain?: ...;
                                  tracker_execution_contract?: ...;
                                  macro_resolution_capabilities?: ...;
                                  technical_requirements_complete?: ...;
                                  display_name?: ...;
                                  sample_render_url?: ...;
                                  applies_to_channels?: ...;
                                  seller_preference?: ...;
                                  locale_policy?: ...;
                                  canonical_formats_only?: ...;
                                  experimental?: ...;
                                  format_shape?: ...;
                                  format_schema?: ...;
                                  format_kind: ...;
                                  params: ...;
                                  product_id?: ...;
                                  placement_refs?: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  tracker_execution_contract_digest?: ...;
                                  product_snapshot_digest?: ...;
                              }
                          )[];
                          snapshot_unavailable_reason?: SnapshotUnavailableReason;
                          snapshot?: {
                              as_of: string;
                              staleness_seconds: number;
                              impressions: number;
                              spend: number;
                              currency?: string;
                              clicks?: number;
                              pacing_index?: number;
                              delivery_status?: DeliveryStatus;
                              ext?: { [key: ...]: ... };
                          };
                          ext?: { [key: string]: unknown };
                          indicator_types_evaluated?: (
                              | "creative_diversity_low"
                              | "audience_saturation"
                              | "inventory_shortfall_forecast"
                              | "pacing_risk"
                              | "budget_constrained"
                          )[];
                          indicators?: { type?: (...)
                          | (...)
                          | (...)
                          | (...)
                          | (...)
                          | (...) }[];
                      }[];
                      ext?: { [key: string]: unknown };
                      indicator_types_evaluated?: "budget_constrained"[];
                      indicators?: { type?: "budget_constrained" }[];
                  }[];
                  errors?: {
                      code: string;
                      message: string;
                      buyer_reason?: { code: string; message: string };
                      field?: string;
                      suggestion?: string;
                      retry_after?: number;
                      issues?: {
                          pointer: string;
                          message: string;
                          keyword: string;
                          schemaPath?: string;
                          schema_id?: string;
                          discriminator?: (...)[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  }[];
                  pagination?: { has_more: boolean; cursor?: string; total_count?: number };
                  sandbox?: boolean;
                  ext?: { [key: string]: unknown };
              },
          >,
      >

    • Get media buy delivery information

      Parameters

      • params: GetMediaBuyDeliveryRequest

        Delivery information parameters

      • OptionalinputHandler: InputHandler

        Handler for clarification requests

      • Optionaloptions: CanonicalReadTaskOptions

        Task execution options

      Returns Promise<
          TaskResult<
              {
                  context_id?: string;
                  context?: {};
                  task_id?: string;
                  status: TaskStatus;
                  message?: string;
                  timestamp?: string;
                  replayed?: boolean;
                  adcp_error?: {
                      code: string;
                      message: string;
                      buyer_reason?: { 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: ...; value: ... }[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  };
                  push_notification_config?: {
                      url: string;
                      operation_id?: string;
                      token?: string;
                      authentication?: {
                          schemes: [AuthenticationScheme];
                          credentials: string;
                      };
                  };
                  governance_context?: string;
                  payload?: {};
                  adcp_version?: string;
                  adcp_major_version?: number;
                  notification_type?: | "scheduled"
                  | "final"
                  | "delayed"
                  | "adjusted"
                  | "window_update";
                  partial_data?: boolean;
                  unavailable_count?: number;
                  sequence_number?: number;
                  next_expected_at?: string;
                  reporting_period: { start: string; end: string; timezone?: string };
                  reporting_revision_binding?: {
                      reporting_revision_id: string;
                      row_count: number;
                      control_totals: (
                          | {
                              name: string;
                              value: string;
                              value_type: "integer";
                              unit?: string;
                          }
                          | { name: string; value: string; value_type: "decimal"; unit?: string }
                      )[];
                      content_sha256: string;
                  };
                  reporting_revision?: {
                      reporting_revision_id: string;
                      revision_content_sha256: string;
                      report_definition_id: string;
                      report_definition_uri: string;
                      report_definition_sha256: string;
                      reporting_profile: string;
                      schema_version: string;
                      schema_uri: string;
                      schema_sha256: string;
                      schema_dialect: "https://json-schema.org/draft/2020-12/schema";
                      schema_ref_policy: "local_fragment_only";
                      account_id: string;
                      media_buy_ids: string[];
                      coverage: {
                          status: "unknown"
                          | "none"
                          | "full"
                          | "partial";
                          evaluated_at: string;
                          media_buy_ids: string[];
                          fully_covered_media_buy_ids: string[];
                          partially_covered_media_buy_ids: string[];
                          unsupported_media_buy_ids: string[];
                          unknown_media_buy_ids: string[];
                          package_ids: string[];
                          covered_package_ids: string[];
                          unsupported_package_ids: string[];
                          unknown_package_ids: string[];
                          limitations: {
                              reason:
                                  | "offering_unsupported"
                                  | "account_entitlement_unavailable"
                                  | "credential_scope_insufficient"
                                  | "provider_limitation"
                                  | "capability_unknown";
                              media_buy_id: string;
                              package_ids?: [string, ...string[]];
                          }[];
                      };
                      period: { start: string; end: string; source_timezone: string };
                      finality: ReportingFinality;
                      finality_basis?: "source_final" | "contractual_cutoff" | "stabilized";
                      finality_policy_id?: string;
                      finalized_at?: string;
                      observed_at: string;
                      data_through: string | null;
                      data_through_precision: "unknown" | "exact" | "lower_bound";
                      supersedes_reporting_revision_id?: string;
                      row_count: number;
                      control_totals: (
                          | {
                              name: string;
                              value: string;
                              value_type: "integer";
                              unit?: string;
                          }
                          | { name: string; value: string; value_type: "decimal"; unit?: string }
                      )[];
                      canonical_content_digest?: {
                          algorithm: "sha256";
                          value: string;
                          canonicalization_id: string;
                          canonicalization_uri: string;
                          canonicalization_sha256: string;
                      };
                      created_at: string;
                  };
                  reporting_rows?: {}[];
                  pagination?: { has_more: boolean; cursor?: string; total_count?: number };
                  currency?: string;
                  attribution_window?: {
                      post_click?: {
                          interval: number;
                          unit: "campaign" | "seconds" | "minutes" | "hours" | "days";
                      };
                      post_view?: {
                          interval: number;
                          unit: "campaign"
                          | "seconds"
                          | "minutes"
                          | "hours"
                          | "days";
                      };
                      model?: AttributionModel;
                  };
                  aggregated_totals?: {
                      impressions: number;
                      spend: number;
                      clicks?: number;
                      completed_views?: number;
                      views?: number;
                      conversions?: number;
                      conversion_value?: number;
                      commissionable_value?: number;
                      roas?: number;
                      new_to_brand_rate?: number;
                      cost_per_acquisition?: number;
                      completion_rate?: number
                      | null;
                      reach?: number;
                      reach_aggregation?: ReachAggregation;
                      reach_unit?: ReachUnit;
                      frequency?: number;
                      media_buy_count: number;
                      metric_aggregates?: (
                          | {
                              scope: "standard";
                              metric_id: AvailableMetric;
                              qualifier?: {
                                  viewability_standard?: ...;
                                  completion_source?: ...;
                                  attribution_methodology?: ...;
                                  attribution_window?: ...;
                                  lift_dimension?: ...;
                              };
                              value: number;
                              measurable_impressions?: number;
                              viewable_impressions?: number;
                              impressions?: number;
                              completed_views?: number;
                              spend?: number;
                              conversions?: number;
                              conversion_value?: number;
                              clicks?: number;
                          }
                          | {
                              scope: "vendor";
                              vendor: {
                                  domain: string;
                                  brand_id?: (...)
                                  | (...);
                                  countries?: (...) | (...);
                                  industries?: (...) | (...);
                                  data_subject_contestation?: (...) | (...);
                                  brand_kit_override?: (...) | (...);
                              };
                              metric_id: string;
                              qualifier?: {
                                  viewability_standard?: ...;
                                  completion_source?: ...;
                                  attribution_methodology?: ...;
                                  attribution_window?: ...;
                                  lift_dimension?: ...;
                              };
                              value: number;
                              measurable_impressions?: number;
                          }
                      )[];
                  };
                  media_buy_deliveries: {
                      media_buy_id: string;
                      currency?: string;
                      status: | "active"
                      | "rejected"
                      | "failed"
                      | "pending"
                      | "completed"
                      | "pending_creatives"
                      | "pending_start"
                      | "paused"
                      | "canceled"
                      | "reporting_delayed";
                      expected_availability?: string;
                      is_adjusted?: boolean;
                      is_final?: boolean;
                      finalized_at?: string;
                      pricing_model?: PricingModel;
                      pacing_index?: number;
                      totals: {
                          impressions?: number;
                          spend?: number;
                          clicks?: number;
                          ctr?: number;
                          views?: number;
                          completed_views?: number;
                          completion_rate?: number
                          | null;
                          conversions?: number;
                          conversion_value?: number;
                          commissionable_value?: number;
                          roas?: number;
                          cost_per_acquisition?: number;
                          new_to_brand_rate?: number;
                          leads?: number;
                          incremental_sales_lift?: number;
                          brand_lift?: number;
                          foot_traffic?: number;
                          conversion_lift?: number;
                          brand_search_lift?: number;
                          plays?: number;
                          measurement_source?: string;
                          by_event_type?: {
                              event_type: EventType;
                              event_source_id?: string;
                              count: number;
                              value?: number;
                          }[];
                          grps?: number;
                          reach?: number;
                          reach_unit?: ReachUnit;
                          reach_window?: {
                              kind: "cumulative"
                              | "period"
                              | "rolling";
                              period?: {
                                  interval: number;
                                  unit: (...) | (...) | (...) | (...) | (...);
                              };
                          };
                          frequency?: number;
                          quartile_data?: | {
                              q1_views?: number;
                              q2_views?: number;
                              q3_views?: number;
                              q4_views?: number;
                          }
                          | null;
                          time_based_views?: {
                              threshold_seconds: number;
                              basis: ViewThresholdBasis;
                              views: number;
                              standard?: ViewabilityStandard;
                          }[];
                          dooh_metrics?: {
                              loop_plays?: number;
                              screens_used?: number;
                              screen_time_seconds?: number;
                              sov_achieved?: number;
                              calculation_notes?: string;
                              venue_breakdown?: {
                                  venue_id: ...;
                                  venue_name?: ...;
                                  venue_type?: ...;
                                  impressions: ...;
                                  loop_plays?: ...;
                                  screens_used?: ...;
                              }[];
                          };
                          ooh_metrics?: {
                              panels?: { identifiers: ...; name?: ... }[];
                              posting_period_start?: string;
                              posting_period_end?: string;
                              average_posted_date?: string;
                              materials_timely?: boolean;
                              share_of_voice_contracted?: number;
                              illuminated_hours?: number;
                              estimated_impressions?: number;
                              estimation_basis?: "currency_measured" | "seller_modeled";
                              postings?: {
                                  panel_id: ...;
                                  event_type?: ...;
                                  occurred_at: ...;
                                  evidence?: ...;
                              }[];
                              calculation_notes?: string;
                          };
                          viewability?: {
                              vendor?: {
                                  domain: string;
                                  brand_id?: (...)
                                  | (...);
                                  countries?: (...) | (...);
                                  industries?: (...) | (...);
                                  data_subject_contestation?: (...) | (...);
                                  brand_kit_override?: (...) | (...);
                              };
                              measurable_impressions?: number;
                              viewable_impressions?: number;
                              viewable_rate?: number;
                              viewed_seconds?: number;
                              viewed_seconds_percentiles?: {
                                  p25: number;
                                  p50: number;
                                  p75: number;
                                  p90: number;
                                  p95: number;
                              };
                              viewed_seconds_histogram?: {
                                  lower_bound_seconds: ...;
                                  upper_bound_seconds?: ...;
                                  impressions: ...;
                              }[];
                              standard?: ViewabilityStandard;
                          };
                          engagements?: number;
                          follows?: number;
                          saves?: number;
                          profile_visits?: number;
                          engagement_rate?: number;
                          cost_per_click?: number;
                          cost_per_completed_view?: number;
                          cpm?: number;
                          downloads?: number;
                          units_sold?: number;
                          new_to_brand_units?: number;
                          by_action_source?: {
                              action_source: ActionSource;
                              event_source_id?: string;
                              count: number;
                              value?: number;
                          }[];
                          vendor_metric_values?: {
                              vendor: {
                                  domain: string;
                                  brand_id?: (...)
                                  | (...);
                                  countries?: (...) | (...);
                                  industries?: (...) | (...);
                                  data_subject_contestation?: (...) | (...);
                                  brand_kit_override?: (...) | (...);
                              };
                              metric_id: string;
                              value: number;
                              unit?: string;
                              measurable_impressions?: number;
                              measurable_plays?: number;
                              measurable_play_seconds?: number;
                              vendor_relationship?: VendorRelationship;
                              qualifier?: {
                                  viewability_standard?: ...;
                                  completion_source?: ...;
                                  attribution_methodology?: ...;
                                  attribution_window?: ...;
                                  lift_dimension?: ...;
                              };
                              breakdown?: {};
                          }[];
                          effective_rate?: number;
                      };
                      by_package: {
                          impressions?: number;
                          spend?: number;
                          clicks?: number;
                          ctr?: number;
                          views?: number;
                          completed_views?: number;
                          completion_rate?: number
                          | null;
                          conversions?: number;
                          conversion_value?: number;
                          commissionable_value?: number;
                          roas?: number;
                          cost_per_acquisition?: number;
                          new_to_brand_rate?: number;
                          leads?: number;
                          incremental_sales_lift?: number;
                          brand_lift?: number;
                          foot_traffic?: number;
                          conversion_lift?: number;
                          brand_search_lift?: number;
                          plays?: number;
                          measurement_source?: string;
                          by_event_type?: {
                              event_type: EventType;
                              event_source_id?: (...) | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          grps?: number;
                          reach?: number;
                          reach_unit?: ReachUnit;
                          reach_window?: {
                              kind: "cumulative"
                              | "period"
                              | "rolling";
                              period?: { interval: ...; unit: ... };
                          };
                          frequency?: number;
                          quartile_data?: | {
                              q1_views?: number;
                              q2_views?: number;
                              q3_views?: number;
                              q4_views?: number;
                          }
                          | null;
                          time_based_views?: {
                              threshold_seconds: number;
                              basis: ViewThresholdBasis;
                              views: number;
                              standard?: (...)
                              | (...);
                          }[];
                          dooh_metrics?: {
                              loop_plays?: number;
                              screens_used?: number;
                              screen_time_seconds?: number;
                              sov_achieved?: number;
                              calculation_notes?: string;
                              venue_breakdown?: (...)[];
                          };
                          ooh_metrics?: {
                              panels?: (...)[];
                              posting_period_start?: string;
                              posting_period_end?: string;
                              average_posted_date?: string;
                              materials_timely?: boolean;
                              share_of_voice_contracted?: number;
                              illuminated_hours?: number;
                              estimated_impressions?: number;
                              estimation_basis?: "currency_measured" | "seller_modeled";
                              postings?: (...)[];
                              calculation_notes?: string;
                          };
                          viewability?: {
                              vendor?: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              measurable_impressions?: number;
                              viewable_impressions?: number;
                              viewable_rate?: number;
                              viewed_seconds?: number;
                              viewed_seconds_percentiles?: {
                                  p25: ...;
                                  p50: ...;
                                  p75: ...;
                                  p90: ...;
                                  p95: ...;
                              };
                              viewed_seconds_histogram?: (...)[];
                              standard?: ViewabilityStandard;
                          };
                          engagements?: number;
                          follows?: number;
                          saves?: number;
                          profile_visits?: number;
                          engagement_rate?: number;
                          cost_per_click?: number;
                          cost_per_completed_view?: number;
                          cpm?: number;
                          downloads?: number;
                          units_sold?: number;
                          new_to_brand_units?: number;
                          by_action_source?: {
                              action_source: ActionSource;
                              event_source_id?: (...)
                              | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          vendor_metric_values?: {
                              vendor: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              metric_id: string;
                              value: number;
                              unit?: (...)
                              | (...);
                              measurable_impressions?: (...) | (...);
                              measurable_plays?: (...) | (...);
                              measurable_play_seconds?: (...) | (...);
                              vendor_relationship?: (...) | (...);
                              qualifier?: (...) | (...);
                              breakdown?: (...) | (...);
                          }[];
                          package_id: string;
                          pacing_index?: number;
                          pricing_model?: PricingModel;
                          rate?: number;
                          currency?: string;
                          delivery_status?: DeliveryStatus;
                          paused?: boolean;
                          is_final?: boolean;
                          finalized_at?: string;
                          measurement_window?: string;
                          supersedes_window?: string;
                          missing_metrics?: (
                              | { scope: ...; metric_id: ...; qualifier?: ... }
                              | { scope: ...; vendor: ...; metric_id: ...; qualifier?: ... }
                          )[];
                          metric_values?: {
                              scope: "standard";
                              metric_id:
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                              qualifier: {
                                  viewability_standard?: ...;
                                  completion_source?: ...;
                                  attribution_methodology?: ...;
                                  attribution_window?: ...;
                                  lift_dimension?: ...;
                              };
                              value: number;
                              measurable_impressions?: (...)
                              | (...);
                              viewable_impressions?: (...) | (...);
                              impressions?: (...) | (...);
                              completed_views?: (...) | (...);
                              spend?: (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              clicks?: (...) | (...);
                          }[];
                          by_catalog_item?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              content_id?: (...) | (...);
                              content_id_type?: (...) | (...);
                          }[];
                          by_catalog_item_truncated?: boolean;
                          by_catalog_item_sorted_by?: SortMetric;
                          by_catalog_item_sort_direction?: SortDirection;
                          by_creative?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              creative_id: string;
                              creative_name?: (...) | (...);
                              weight?: (...) | (...);
                          }[];
                          by_format?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              format_kind: CanonicalFormatKind;
                          }[];
                          by_format_truncated?: boolean;
                          by_format_sorted_by?: SortMetric;
                          by_format_sort_direction?: SortDirection;
                          by_creative_truncated?: boolean;
                          by_creative_sorted_by?: SortMetric;
                          by_creative_sort_direction?: SortDirection;
                          by_keyword?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              keyword?: (...) | (...);
                              match_type?: (...) | (...);
                          }[];
                          by_keyword_truncated?: boolean;
                          by_keyword_sorted_by?: SortMetric;
                          by_keyword_sort_direction?: SortDirection;
                          by_geo?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              geo_level?: (...) | (...);
                              system?: (...) | (...);
                              country?: (...) | (...);
                              geo_code?: (...) | (...);
                              geo_name?: (...) | (...);
                          }[];
                          by_geo_truncated?: boolean;
                          by_geo_sorted_by?: SortMetric;
                          by_geo_sort_direction?: SortDirection;
                          by_device_type?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              device_type?: (...) | (...);
                          }[];
                          by_device_type_truncated?: boolean;
                          by_device_type_sorted_by?: SortMetric;
                          by_device_type_sort_direction?: SortDirection;
                          by_device_type_pagination?: {
                              has_more: boolean;
                              cursor?: string;
                              total_count?: number;
                          };
                          by_device_platform?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              device_platform?: (...) | (...);
                          }[];
                          by_device_platform_truncated?: boolean;
                          by_device_platform_sorted_by?: SortMetric;
                          by_device_platform_sort_direction?: SortDirection;
                          by_device_platform_pagination?: {
                              has_more: boolean;
                              cursor?: string;
                              total_count?: number;
                          };
                          by_audience?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              audience_id?: (...) | (...);
                              audience_source?: (...) | (...);
                              audience_name?: (...) | (...);
                          }[];
                          by_audience_truncated?: boolean;
                          by_audience_sorted_by?: SortMetric;
                          by_audience_sort_direction?: SortDirection;
                          by_audience_pagination?: {
                              has_more: boolean;
                              cursor?: string;
                              total_count?: number;
                          };
                          by_demographic?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              demographic: string;
                              demographic_system: DemographicSystem;
                              age?: (...) | (...);
                          }[];
                          by_demographic_truncated?: boolean;
                          by_demographic_sorted_by?: SortMetric;
                          by_demographic_sort_direction?: SortDirection;
                          by_demographic_suppressed?: boolean;
                          by_placement?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              placement_identity?: (...) | (...) | (...);
                              placement_name?: (...) | (...);
                              placement_id?: (...) | (...);
                              publisher_domain?: (...) | (...);
                          }[];
                          by_placement_truncated?: boolean;
                          by_placement_sorted_by?: SortMetric;
                          by_placement_sort_direction?: SortDirection;
                          by_placement_pagination?: {
                              has_more: boolean;
                              cursor?: string;
                              total_count?: number;
                          };
                          by_property?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              publisher_domain: string;
                              identifier: { type: ...; value: ... };
                              property_ref?: (...) | (...);
                              property_name?: (...) | (...);
                          }[];
                          by_property_truncated?: boolean;
                          by_property_suppressed?: boolean;
                          by_property_sorted_by?: SortMetric;
                          by_property_sort_direction?: SortDirection;
                          by_collection?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              collection_ref: { publisher_domain: ...; collection_id: ... };
                              collection_name?: (...) | (...);
                          }[];
                          by_collection_truncated?: boolean;
                          by_collection_sorted_by?: SortMetric;
                          by_collection_sort_direction?: SortDirection;
                          by_installment?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              installment_ref: { collection_ref: ...; installment_id: ... };
                              installment_name?: (...) | (...);
                              scheduled_at?: (...) | (...);
                          }[];
                          by_installment_truncated?: boolean;
                          by_installment_sorted_by?: SortMetric;
                          by_installment_sort_direction?: SortDirection;
                          by_collection_property?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              collection_ref: { publisher_domain: ...; collection_id: ... };
                              collection_name?: (...) | (...);
                              publisher_domain: string;
                              identifier: { type: ...; value: ... };
                              property_ref?: (...) | (...);
                              property_name?: (...) | (...);
                          }[];
                          by_collection_property_truncated?: boolean;
                          by_collection_property_suppressed?: boolean;
                          by_collection_property_sorted_by?: SortMetric;
                          by_collection_property_sort_direction?: SortDirection;
                          by_installment_property?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              installment_ref: { collection_ref: ...; installment_id: ... };
                              installment_name?: (...) | (...);
                              scheduled_at?: (...) | (...);
                              publisher_domain: string;
                              identifier: { type: ...; value: ... };
                              property_ref?: (...) | (...);
                              property_name?: (...) | (...);
                          }[];
                          by_installment_property_truncated?: boolean;
                          by_installment_property_suppressed?: boolean;
                          by_installment_property_sorted_by?: SortMetric;
                          by_installment_property_sort_direction?: SortDirection;
                          by_placement_property?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              placement_id: string;
                              placement_identity: (...) | (...);
                              placement_name?: (...) | (...);
                              publisher_domain: string;
                              identifier: { type: ...; value: ... };
                              property_ref?: (...) | (...);
                              property_name?: (...) | (...);
                          }[];
                          by_placement_property_truncated?: boolean;
                          by_placement_property_suppressed?: boolean;
                          by_placement_property_sorted_by?: SortMetric;
                          by_placement_property_sort_direction?: SortDirection;
                          by_spot?: {
                              impressions?: (...)
                              | (...);
                              spend?: (...) | (...);
                              clicks?: (...) | (...);
                              ctr?: (...) | (...);
                              views?: (...) | (...);
                              completed_views?: (...) | (...);
                              completion_rate?: (...) | (...) | (...);
                              conversions?: (...) | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              cost_per_acquisition?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                              leads?: (...) | (...);
                              incremental_sales_lift?: (...) | (...);
                              brand_lift?: (...) | (...);
                              foot_traffic?: (...) | (...);
                              conversion_lift?: (...) | (...);
                              brand_search_lift?: (...) | (...);
                              plays?: (...) | (...);
                              measurement_source?: (...) | (...);
                              by_event_type?: (...) | (...);
                              grps?: (...) | (...);
                              reach?: (...) | (...);
                              reach_unit?: (...) | (...);
                              reach_window?: (...) | (...);
                              frequency?: (...) | (...);
                              quartile_data?: (...) | (...) | (...);
                              time_based_views?: (...) | (...);
                              dooh_metrics?: (...) | (...);
                              ooh_metrics?: (...) | (...);
                              viewability?: (...) | (...);
                              engagements?: (...) | (...);
                              follows?: (...) | (...);
                              saves?: (...) | (...);
                              profile_visits?: (...) | (...);
                              engagement_rate?: (...) | (...);
                              cost_per_click?: (...) | (...);
                              cost_per_completed_view?: (...) | (...);
                              cpm?: (...) | (...);
                              downloads?: (...) | (...);
                              units_sold?: (...) | (...);
                              new_to_brand_units?: (...) | (...);
                              by_action_source?: (...) | (...);
                              vendor_metric_values?: (...) | (...);
                              spot_id: string;
                              creative_id?: (...) | (...);
                              aired_at: string;
                              network?: (...) | (...);
                              station?: (...) | (...);
                              daypart?: (...) | (...);
                          }[];
                          by_spot_truncated?: boolean;
                          daily_breakdown?: {
                              date: string;
                              impressions: number;
                              spend: number;
                              conversions?: (...)
                              | (...);
                              conversion_value?: (...) | (...);
                              commissionable_value?: (...) | (...);
                              roas?: (...) | (...);
                              new_to_brand_rate?: (...) | (...);
                          }[];
                      }[];
                      windows?: {
                          window_start: string;
                          window_end: string;
                          totals: {
                              impressions?: number;
                              spend?: number;
                              clicks?: number;
                              ctr?: number;
                              views?: number;
                              completed_views?: number;
                              completion_rate?: number
                              | null;
                              conversions?: number;
                              conversion_value?: number;
                              commissionable_value?: number;
                              roas?: number;
                              cost_per_acquisition?: number;
                              new_to_brand_rate?: number;
                              leads?: number;
                              incremental_sales_lift?: number;
                              brand_lift?: number;
                              foot_traffic?: number;
                              conversion_lift?: number;
                              brand_search_lift?: number;
                              plays?: number;
                              measurement_source?: string;
                              by_event_type?: (...)[];
                              grps?: number;
                              reach?: number;
                              reach_unit?: ReachUnit;
                              reach_window?: { kind: ...; period?: ... };
                              frequency?: number;
                              quartile_data?:
                                  | {
                                      q1_views?: ...;
                                      q2_views?: ...;
                                      q3_views?: ...;
                                      q4_views?: ...;
                                  }
                                  | null;
                              time_based_views?: (...)[];
                              dooh_metrics?: {
                                  loop_plays?: ...;
                                  screens_used?: ...;
                                  screen_time_seconds?: ...;
                                  sov_achieved?: ...;
                                  calculation_notes?: ...;
                                  venue_breakdown?: ...;
                              };
                              ooh_metrics?: {
                                  panels?: ...;
                                  posting_period_start?: ...;
                                  posting_period_end?: ...;
                                  average_posted_date?: ...;
                                  materials_timely?: ...;
                                  share_of_voice_contracted?: ...;
                                  illuminated_hours?: ...;
                                  estimated_impressions?: ...;
                                  estimation_basis?: ...;
                                  postings?: ...;
                                  calculation_notes?: ...;
                              };
                              viewability?: {
                                  vendor?: ...;
                                  measurable_impressions?: ...;
                                  viewable_impressions?: ...;
                                  viewable_rate?: ...;
                                  viewed_seconds?: ...;
                                  viewed_seconds_percentiles?: ...;
                                  viewed_seconds_histogram?: ...;
                                  standard?: ...;
                              };
                              engagements?: number;
                              follows?: number;
                              saves?: number;
                              profile_visits?: number;
                              engagement_rate?: number;
                              cost_per_click?: number;
                              cost_per_completed_view?: number;
                              cpm?: number;
                              downloads?: number;
                              units_sold?: number;
                              new_to_brand_units?: number;
                              by_action_source?: (...)[];
                              vendor_metric_values?: (...)[];
                          };
                          by_package?: {
                              impressions?: ...;
                              spend?: ...;
                              clicks?: ...;
                              ctr?: ...;
                              views?: ...;
                              completed_views?: ...;
                              completion_rate?: ...;
                              conversions?: ...;
                              conversion_value?: ...;
                              commissionable_value?: ...;
                              roas?: ...;
                              cost_per_acquisition?: ...;
                              new_to_brand_rate?: ...;
                              leads?: ...;
                              incremental_sales_lift?: ...;
                              brand_lift?: ...;
                              foot_traffic?: ...;
                              conversion_lift?: ...;
                              brand_search_lift?: ...;
                              plays?: ...;
                              measurement_source?: ...;
                              by_event_type?: ...;
                              grps?: ...;
                              reach?: ...;
                              reach_unit?: ...;
                              reach_window?: ...;
                              frequency?: ...;
                              quartile_data?: ...;
                              time_based_views?: ...;
                              dooh_metrics?: ...;
                              ooh_metrics?: ...;
                              viewability?: ...;
                              engagements?: ...;
                              follows?: ...;
                              saves?: ...;
                              profile_visits?: ...;
                              engagement_rate?: ...;
                              cost_per_click?: ...;
                              cost_per_completed_view?: ...;
                              cpm?: ...;
                              downloads?: ...;
                              units_sold?: ...;
                              new_to_brand_units?: ...;
                              by_action_source?: ...;
                              vendor_metric_values?: ...;
                              package_id: ...;
                              currency?: ...;
                          }[];
                          is_final?: boolean;
                          measurement_window?: string;
                      }[];
                      daily_breakdown?: {
                          date: string;
                          impressions: number;
                          spend: number;
                          conversions?: number;
                          conversion_value?: number;
                          commissionable_value?: number;
                          roas?: number;
                          new_to_brand_rate?: number;
                      }[];
                  }[];
                  errors?: {
                      code: string;
                      message: string;
                      buyer_reason?: { code: string; message: string };
                      field?: string;
                      suggestion?: string;
                      retry_after?: number;
                      issues?: {
                          pointer: string;
                          message: string;
                          keyword: string;
                          schemaPath?: string;
                          schema_id?: string;
                          discriminator?: (...)[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  }[];
                  sandbox?: boolean;
                  ext?: { [key: string]: unknown };
              },
          >,
      >

    • Retrieve canonical creative-level and variant-level delivery metrics.

      Parameters

      Returns Promise<
          TaskResult<
              {
                  context_id?: string;
                  context?: {};
                  task_id?: string;
                  status: TaskStatus;
                  message?: string;
                  timestamp?: string;
                  replayed?: boolean;
                  adcp_error?: {
                      code: string;
                      message: string;
                      buyer_reason?: { 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: ...; value: ... }[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  };
                  push_notification_config?: {
                      url: string;
                      operation_id?: string;
                      token?: string;
                      authentication?: {
                          schemes: [AuthenticationScheme];
                          credentials: string;
                      };
                  };
                  governance_context?: string;
                  payload?: {};
                  adcp_version?: string;
                  adcp_major_version?: number;
                  account_id?: string;
                  media_buy_id?: string;
                  currency: string;
                  reporting_period: { start: string; end: string; timezone?: string };
                  creatives: {
                      creative_id: string;
                      media_buy_id?: string;
                      format_kind?: CanonicalFormatKind;
                      format_option_ref?:
                          | {
                              scope: "publisher";
                              publisher_domain: string;
                              format_option_id: string;
                          }
                          | {
                              scope: "product";
                              format_option_id: string;
                              publisher_domain?: undefined;
                          };
                      totals?: {
                          impressions?: number;
                          spend?: number;
                          clicks?: number;
                          ctr?: number;
                          views?: number;
                          completed_views?: number;
                          completion_rate?: number
                          | null;
                          conversions?: number;
                          conversion_value?: number;
                          commissionable_value?: number;
                          roas?: number;
                          cost_per_acquisition?: number;
                          new_to_brand_rate?: number;
                          leads?: number;
                          incremental_sales_lift?: number;
                          brand_lift?: number;
                          foot_traffic?: number;
                          conversion_lift?: number;
                          brand_search_lift?: number;
                          plays?: number;
                          measurement_source?: string;
                          by_event_type?: {
                              event_type: EventType;
                              event_source_id?: (...) | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          grps?: number;
                          reach?: number;
                          reach_unit?: ReachUnit;
                          reach_window?: {
                              kind: "cumulative"
                              | "period"
                              | "rolling";
                              period?: { interval: ...; unit: ... };
                          };
                          frequency?: number;
                          quartile_data?: | {
                              q1_views?: number;
                              q2_views?: number;
                              q3_views?: number;
                              q4_views?: number;
                          }
                          | null;
                          time_based_views?: {
                              threshold_seconds: number;
                              basis: ViewThresholdBasis;
                              views: number;
                              standard?: (...)
                              | (...);
                          }[];
                          dooh_metrics?: {
                              loop_plays?: number;
                              screens_used?: number;
                              screen_time_seconds?: number;
                              sov_achieved?: number;
                              calculation_notes?: string;
                              venue_breakdown?: (...)[];
                          };
                          ooh_metrics?: {
                              panels?: (...)[];
                              posting_period_start?: string;
                              posting_period_end?: string;
                              average_posted_date?: string;
                              materials_timely?: boolean;
                              share_of_voice_contracted?: number;
                              illuminated_hours?: number;
                              estimated_impressions?: number;
                              estimation_basis?: "currency_measured" | "seller_modeled";
                              postings?: (...)[];
                              calculation_notes?: string;
                          };
                          viewability?: {
                              vendor?: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              measurable_impressions?: number;
                              viewable_impressions?: number;
                              viewable_rate?: number;
                              viewed_seconds?: number;
                              viewed_seconds_percentiles?: {
                                  p25: ...;
                                  p50: ...;
                                  p75: ...;
                                  p90: ...;
                                  p95: ...;
                              };
                              viewed_seconds_histogram?: (...)[];
                              standard?: ViewabilityStandard;
                          };
                          engagements?: number;
                          follows?: number;
                          saves?: number;
                          profile_visits?: number;
                          engagement_rate?: number;
                          cost_per_click?: number;
                          cost_per_completed_view?: number;
                          cpm?: number;
                          downloads?: number;
                          units_sold?: number;
                          new_to_brand_units?: number;
                          by_action_source?: {
                              action_source: ActionSource;
                              event_source_id?: (...)
                              | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          vendor_metric_values?: {
                              vendor: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              metric_id: string;
                              value: number;
                              unit?: (...)
                              | (...);
                              measurable_impressions?: (...) | (...);
                              measurable_plays?: (...) | (...);
                              measurable_play_seconds?: (...) | (...);
                              vendor_relationship?: (...) | (...);
                              qualifier?: (...) | (...);
                              breakdown?: (...) | (...);
                          }[];
                      };
                      variant_count?: number;
                      variants: {
                          impressions?: number;
                          spend?: number;
                          clicks?: number;
                          ctr?: number;
                          views?: number;
                          completed_views?: number;
                          completion_rate?: number
                          | null;
                          conversions?: number;
                          conversion_value?: number;
                          commissionable_value?: number;
                          roas?: number;
                          cost_per_acquisition?: number;
                          new_to_brand_rate?: number;
                          leads?: number;
                          incremental_sales_lift?: number;
                          brand_lift?: number;
                          foot_traffic?: number;
                          conversion_lift?: number;
                          brand_search_lift?: number;
                          plays?: number;
                          measurement_source?: string;
                          by_event_type?: {
                              event_type: EventType;
                              event_source_id?: (...) | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          grps?: number;
                          reach?: number;
                          reach_unit?: ReachUnit;
                          reach_window?: {
                              kind: "cumulative"
                              | "period"
                              | "rolling";
                              period?: { interval: ...; unit: ... };
                          };
                          frequency?: number;
                          quartile_data?: | {
                              q1_views?: number;
                              q2_views?: number;
                              q3_views?: number;
                              q4_views?: number;
                          }
                          | null;
                          time_based_views?: {
                              threshold_seconds: number;
                              basis: ViewThresholdBasis;
                              views: number;
                              standard?: (...)
                              | (...);
                          }[];
                          dooh_metrics?: {
                              loop_plays?: number;
                              screens_used?: number;
                              screen_time_seconds?: number;
                              sov_achieved?: number;
                              calculation_notes?: string;
                              venue_breakdown?: (...)[];
                          };
                          ooh_metrics?: {
                              panels?: (...)[];
                              posting_period_start?: string;
                              posting_period_end?: string;
                              average_posted_date?: string;
                              materials_timely?: boolean;
                              share_of_voice_contracted?: number;
                              illuminated_hours?: number;
                              estimated_impressions?: number;
                              estimation_basis?: "currency_measured" | "seller_modeled";
                              postings?: (...)[];
                              calculation_notes?: string;
                          };
                          viewability?: {
                              vendor?: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              measurable_impressions?: number;
                              viewable_impressions?: number;
                              viewable_rate?: number;
                              viewed_seconds?: number;
                              viewed_seconds_percentiles?: {
                                  p25: ...;
                                  p50: ...;
                                  p75: ...;
                                  p90: ...;
                                  p95: ...;
                              };
                              viewed_seconds_histogram?: (...)[];
                              standard?: ViewabilityStandard;
                          };
                          engagements?: number;
                          follows?: number;
                          saves?: number;
                          profile_visits?: number;
                          engagement_rate?: number;
                          cost_per_click?: number;
                          cost_per_completed_view?: number;
                          cpm?: number;
                          downloads?: number;
                          units_sold?: number;
                          new_to_brand_units?: number;
                          by_action_source?: {
                              action_source: ActionSource;
                              event_source_id?: (...)
                              | (...);
                              count: number;
                              value?: (...) | (...);
                          }[];
                          vendor_metric_values?: {
                              vendor: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              metric_id: string;
                              value: number;
                              unit?: (...)
                              | (...);
                              measurable_impressions?: (...) | (...);
                              measurable_plays?: (...) | (...);
                              measurable_play_seconds?: (...) | (...);
                              vendor_relationship?: (...) | (...);
                              qualifier?: (...) | (...);
                              breakdown?: (...) | (...);
                          }[];
                          variant_id: string;
                          revision_id?: string;
                          locale_variant_id?: string;
                          manifest?: | {
                              format_kind?: CanonicalFormatKind;
                              format_option_ref?: | {
                                  scope: ...;
                                  publisher_domain: ...;
                                  format_option_id: ...;
                              }
                              | { scope: ...; format_option_id: ...; publisher_domain?: ... };
                              representation_selection?: {
                                  creative_id: ...;
                                  revision_id: ...;
                                  revision_content_digest: ...;
                                  selected_representation_id: ...;
                                  strategy: ...;
                                  selected_output_digest: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  resolved_by: ...;
                              };
                              assets: {
                                  [key: string]: | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                              };
                              component_assets?: { [key: ...]: ... };
                              brand?: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              rights?: (...)[];
                              industry_identifiers?: (...)[];
                              provenance?: {
                                  digital_source_type?: ...;
                                  synthetic_depiction?: ...;
                                  ai_tool?: ...;
                                  human_oversight?: ...;
                                  declared_by?: ...;
                                  declared_at?: ...;
                                  created_time?: ...;
                                  c2pa?: ...;
                                  embedded_provenance?: ...;
                                  watermarks?: ...;
                                  disclosure?: ...;
                                  verification?: ...;
                                  ext?: ...;
                              };
                              ext?: { [key: ...]: ... };
                          }
                          | {
                              format_kind?: CanonicalFormatKind;
                              format_option_ref?: | {
                                  scope: ...;
                                  publisher_domain: ...;
                                  format_option_id: ...;
                              }
                              | { scope: ...; format_option_id: ...; publisher_domain?: ... };
                              representation_selection?: {
                                  creative_id: ...;
                                  revision_id: ...;
                                  revision_content_digest: ...;
                                  selected_representation_id: ...;
                                  strategy: ...;
                                  selected_output_digest: ...;
                                  execution_vast_version?: ...;
                                  execution_daast_version?: ...;
                                  resolved_by: ...;
                              };
                              assets: {
                                  [key: string]: | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...)
                                  | (...);
                              };
                              component_assets?: { [key: ...]: ... };
                              brand?: {
                                  domain: ...;
                                  brand_id?: ...;
                                  countries?: ...;
                                  industries?: ...;
                                  data_subject_contestation?: ...;
                                  brand_kit_override?: ...;
                              };
                              rights?: (...)[];
                              industry_identifiers?: (...)[];
                              provenance?: {
                                  digital_source_type?: ...;
                                  synthetic_depiction?: ...;
                                  ai_tool?: ...;
                                  human_oversight?: ...;
                                  declared_by?: ...;
                                  declared_at?: ...;
                                  created_time?: ...;
                                  c2pa?: ...;
                                  embedded_provenance?: ...;
                                  watermarks?: ...;
                                  disclosure?: ...;
                                  verification?: ...;
                                  ext?: ...;
                              };
                              ext?: { [key: ...]: ... };
                          };
                          generation_context?: {
                              context_type?: string;
                              artifact?: { property_id: ...; artifact_id: ... };
                              ext?: { [key: ...]: ... };
                          };
                      }[];
                  }[];
                  pagination?: {
                      limit: number;
                      offset: number;
                      has_more: boolean;
                      total_count?: number;
                      total?: number;
                  };
                  errors?: {
                      code: string;
                      message: string;
                      buyer_reason?: { code: string; message: string };
                      field?: string;
                      suggestion?: string;
                      retry_after?: number;
                      issues?: {
                          pointer: string;
                          message: string;
                          keyword: string;
                          schemaPath?: string;
                          schema_id?: string;
                          discriminator?: (...)[];
                      }[];
                      details?: {};
                      recovery?: "transient"
                      | "correctable"
                      | "terminal";
                      source?: "producer" | "sdk";
                      sdk_id?: string;
                  }[];
                  ext?: { [key: string]: unknown };
              },
          >,
      >

    • Report a governance outcome for an async task that has resolved.

      Use this when a task returned status 'submitted' or 'working' and later resolves via polling or webhooks. The checkId is available on the original TaskResult at result.governance.checkId. After a TaskTimeoutError during governance postflight, pass the error's governanceRecovery.outcomeIdempotencyKey in options to safely retry.

      Parameters

      • checkId: string
      • outcome: OutcomeType
      • OptionalgovernanceContext: string
      • OptionalsellerResponse: Record<string, unknown>
      • Optionalerror: { code?: string; message: string }
      • Optionaloptions: { outcomeIdempotencyKey?: string; signal?: AbortSignal }

      Returns Promise<GovernanceOutcome | undefined>

    • Execute an extension task that is not part of the standard AdCP task set.

      Keeping custom tasks on an explicitly named API prevents a response-type generic from weakening the canonical request types enforced by executeTask() for standard creative-boundary tasks.

      Type Parameters

      • T = unknown

      Parameters

      Returns Promise<TaskResult<T>>

    • Explicit raw-task compatibility escape hatch for conformance and migration tooling.

      Type Parameters

      • T = any

      Parameters

      Returns Promise<TaskResult<T>>

      Application code should use typed primary methods or executeTask().

    • Resume a deferred task using its token

      Type Parameters

      • T = any

      Parameters

      • token: string

        Deferred task token

      • input: unknown

        Human- or application-provided answer for the paused task

      Returns Promise<TaskResult<T>>

      const paused = await client.createMediaBuy(params, handler);
      if (paused.status === 'deferred') {
      const result = await client.resumeDeferredTask(paused.deferred.token, humanProvidedValue);
      }
    • Continue an existing conversation with the agent

      Type Parameters

      • T = any

      Parameters

      • message: string

        Message to send to the agent

      • contextId: string

        Conversation context ID to continue

      • OptionalinputHandler: InputHandler

        Handler for any clarification requests

      Returns Promise<TaskResult<T>>

      const agent = new ADCPClient(config);
      const initial = await agent.getProducts({ brief: 'Tech products' });

      // Continue the conversation — use the server-returned contextId, not
      // the client-minted correlation taskId.
      const refined = await agent.continueConversation(
      'Focus only on laptops under $1000',
      initial.metadata.contextId!
      );
    • Get the agent configuration with normalized protocol

      Returns the agent config with:

      • Protocol normalized (e.g., .well-known URLs switch to A2A)
      • If canonical URL has been resolved, agent_uri will be the canonical URL

      For guaranteed canonical URL, use getResolvedAgent() instead.

      Returns AgentConfig

    • Get the fully resolved agent configuration

      This async method ensures the agent config has the canonical URL resolved:

      • For A2A: Fetches the agent card and uses its 'url' field
      • For MCP: Performs endpoint discovery

      Returns Promise<AgentConfig>

      Promise resolving to agent config with canonical URL

    • Get the canonical base URL for this agent

      Returns the canonical URL if already resolved, or computes it synchronously from the configured URL. For the most accurate canonical URL (especially for A2A where the agent card contains the authoritative URL), use resolveCanonicalUrl() first.

      The canonical URL is:

      • For A2A: The 'url' field from the agent card (if resolved), or base URL with the well-known agent card path stripped
      • For MCP: The discovered endpoint with /mcp stripped

      Returns string

      The canonical base URL (synchronous, may not be fully resolved)

    • Resolve and return the canonical base URL for this agent

      This async method ensures the canonical URL is properly resolved:

      • For A2A: Fetches the agent card and uses its 'url' field
      • For MCP: Performs endpoint discovery and strips /mcp suffix

      The result is cached, so subsequent calls are fast.

      Returns Promise<string>

      Promise resolving to the canonical base URL

    • Check if this agent is the same as another agent

      Compares agents by their canonical base URLs. Two agents are considered the same if they have the same canonical URL, regardless of:

      • Protocol (MCP vs A2A)
      • URL format (with/without /mcp, with/without well-known agent card path)
      • Trailing slashes

      Parameters

      Returns boolean

      true if agents have the same canonical URL

    • Async version of isSameAgent that resolves canonical URLs first

      This provides more accurate comparison for A2A agents since it fetches the agent card to get the authoritative canonical URL.

      Parameters

      Returns Promise<boolean>

      Promise resolving to true if agents have the same canonical URL

    • List all tasks for this agent with detailed information

      Returns Promise<TaskInfo[]>

      Promise resolving to array of task information

      const tasks = await client.listTasks();
      tasks.forEach(task => {
      console.log(`${task.taskName}: ${task.status}`);
      });
    • Get detailed information about a specific task

      Parameters

      • taskId: string

        ID of the task to get information for

      Returns Promise<TaskInfo | null>

      Promise resolving to task information

    • Subscribe to task notifications for this agent

      Parameters

      • callback: (task: TaskInfo) => void

        Function to call when task status changes

      Returns () => void

      Unsubscribe function

      const unsubscribe = client.onTaskUpdate((task) => {
      console.log(`Task ${task.taskName} is now ${task.status}`);
      if (task.status === 'completed') {
      // Handle completion
      }
      });

      // Later, stop listening
      unsubscribe();
    • Subscribe to all task events (create, update, complete, error)

      Parameters

      • callbacks: {
            onTaskCreated?: (task: TaskInfo) => void;
            onTaskUpdated?: (task: TaskInfo) => void;
            onTaskCompleted?: (task: TaskInfo) => void;
            onTaskFailed?: (task: TaskInfo, error: string) => void;
        }

        Event callbacks for different task events

      Returns () => void

      Unsubscribe function

    • Register webhook URL for receiving task notifications

      Parameters

      • webhookUrl: string

        URL to receive webhook notifications

      • OptionaltaskTypes: string[]

        Optional array of task types to watch (defaults to all)

      Returns Promise<void>

      await client.registerWebhook('https://myapp.com/webhook', ['create_media_buy']);
      
    • Get comprehensive agent information including name, description, and available tools/skills

      Works with both MCP (tools) and A2A (skills) protocols to discover what the agent can do.

      Auth resolution: this method forwards agent.headers as customHeaders to the MCP transport so header-only auth (HTTP Basic via gateways like Apigee/Kong, x-api-key, custom tenant routing) reaches the precheck path. The invariant — basic-auth credentials live entirely on headers.Authorization; do not also set auth_token — is documented at docs/guides/BASIC-AUTH.md. See #1864 for the failure mode if it's violated.

      Parameters

      • Optionaloptions: ReadRequestOptions

      Returns Promise<
          {
              name: string;
              description?: string;
              protocol: "mcp"
              | "a2a";
              url: string;
              tools: {
                  name: string;
                  description?: string;
                  inputSchema?: Record<string, unknown>;
                  parameters?: string[];
              }[];
          },
      >

      Promise resolving to agent information including tools

      const client = new ADCPClient(agentConfig);
      const info = await client.getAgentInfo();

      console.log(`${info.name}: ${info.description}`);
      console.log(`Supports ${info.tools.length} tools`);

      info.tools.forEach(tool => {
      console.log(` - ${tool.name}: ${tool.description}`);
      });
    • Get agent capabilities, including AdCP version support

      For v3 servers, calls get_adcp_capabilities tool. For v2 servers, builds synthetic capabilities from available tools.

      Parameters

      • Optionaloptions: ReadRequestOptions

      Returns Promise<AdcpCapabilities>

      Promise resolving to normalized capabilities object

      const capabilities = await client.getCapabilities();

      console.log(`Server version: ${capabilities.version}`);
      console.log(`Protocols: ${capabilities.protocols.join(', ')}`);

      if (capabilities.features.propertyListFiltering) {
      // Use v3 property list features
      }
    • Reuse a fresh capability observation made by the embedding application.

      Returns false and leaves discovery cold when the scope, endpoint, configured release, or freshness window does not match. Per-call scoped transports (trustedFetchFn) continue to bypass this cache and discover within their own request scope.

      Parameters

      Returns boolean

    • Detect server AdCP version

      Parameters

      • Optionaloptions: ReadRequestOptions

      Returns Promise<"v3" | "v2">

      'v2' or 'v3' based on server capabilities

    • Whether the seller's capabilities are synthesized from tools/list with no authoritative get_adcp_capabilities response — i.e. the dispatcher routes through the v2 adapter and idempotency-TTL is unknown. Use this to gate retry behavior for sellers whose retry safety can't be derived from declared capabilities (lower attempt caps, longer backoff, or fall back to natural-key recovery).

      Returns false for declared v2 sellers, declared v3 sellers, and synthetic v3 sellers (which advertise the v3 discovery tool even when the call itself failed).

      Caveat for synthetic v3: the predicate returns false, but TTL is still unknown for those sellers — getIdempotencyReplayTtlSeconds() throws until the agent's capabilities endpoint is fixed (issue #1217). Retry-policy consumers that need a complete "TTL unknown" gate should additionally check getCapabilities()._synthetic.

      Returns Promise<boolean>

    • Check if server supports a specific AdCP major version

      Parameters

      • version: 2 | 3

      Returns Promise<boolean>

    • Return the seller's declared adcp.idempotency.replay_ttl_seconds.

      BYOK callers use this to compare the age of persisted keys against the seller's replay window — past the window, the safe recovery is a natural-key lookup rather than reusing the key.

      Fails closed when the seller is v3 but does not declare the field: the spec makes the declaration REQUIRED, and silently defaulting to 24h would mislead buyers about retry safety. Callers on v2 servers get undefined instead of a throw — v2 pre-dates the idempotency envelope.

      Returns Promise<number | undefined>

    • Check if the seller supports a feature.

      Feature names resolve as follows:

      • Protocol names ('media_buy', 'signals', etc.) check supported_protocols
      • 'ext:' checks extensions_supported
      • 'targeting.' checks media_buy.execution.targeting
      • Other names check media_buy.features (e.g., 'audience_targeting', 'conversion_tracking')

      Absent features return false.

      Parameters

      • feature: string

      Returns Promise<boolean>

    • Require that the seller supports all listed features. Throws FeatureUnsupportedError if any are missing.

      Call this before making feature-dependent task calls to fail fast with an actionable error message.

      Parameters

      • ...features: string[]

      Returns Promise<void>

    • Assert that the seller's capabilities corroborate the major this client is pinned to (per getAdcpVersion()).

      A self-reported version: 'v3' is not enough — a hostile or misconfigured seller can just string-claim the version. For sellers that return an authoritative get_adcp_capabilities response, the guard requires:

      1. capabilities.majorVersions.includes(<this client's major>)
      2. capabilities.idempotency.replayTtlSeconds present (spec-required for real major-3+ sellers)

      Sellers whose capabilities are synthesized from tools/list (no authoritative get_adcp_capabilities response) are treated as v2: a compliant v3 seller would declare itself, so absence of a declaration is taken as evidence of v2. The dispatcher routes the request through the v2 wire-shape adapter. A one-time warning surfaces the routing decision so adopters can audit it; retry-safety (idempotency TTL) is unknown for these sellers and BYOK callers should treat them as such.

      Per-client allowV2: true or, when that's undefined, ADCP_ALLOW_V2=1 in the environment bypasses the guard entirely.

      Throws VersionUnsupportedError with the specific reason on failure.

      Parameters

      • taskType: string = 'request'
      • Optionaloptions: ReadRequestOptions

      Returns Promise<void>

    • Deprecated alias for requireSupportedMajor. Original name from the AdCP v2/v3 split; the function generalized in Stage 3 to check the client's per-instance major instead of hardcoded 3, and requireV3 stopped reflecting what the function actually does.

      Parameters

      • taskType: string = 'request'

      Returns Promise<void>

      Use requireSupportedMajor() instead.

    • Query a legacy creative-agent named-format catalog.

      Canonical applications discover seller-supported declarations through AgentClient.getProducts() and consume format_options[] instead.

      Parameters

      Returns Promise<LegacyFormat[]>

      Promise resolving to the list of available formats

      Migration-only helper for the legacy named-format protocol.