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

    Class RegistryClient

    Client for the AdCP Registry API.

    Covers brand resolution, property resolution, agent discovery, authorization lookups, validation tools, and search.

    const registry = new RegistryClient({ apiKey: 'sk_...' });
    const brand = await registry.lookupBrand('nike.com');
    const agents = await registry.listAgents({ type: 'sales' });
    const results = await registry.search('nike');
    Index

    Constructors

    Methods

    • Resolve a single domain to its canonical brand identity.

      Parameters

      • domain: string

      Returns Promise<
          | {
              canonical_id: string;
              canonical_domain: string;
              brand_name: string;
              names?: { [key: string]: string }[];
              keller_type?: "master" | "sub_brand" | "endorsed" | "independent";
              parent_brand?: string;
              house_domain?: string;
              house_name?: string;
              brand_agent_url?: string;
              brand_manifest?: { [key: string]: unknown };
              source: "brand_json" | "community" | "enriched";
          }
          | null,
      >

    • Search for companies by name or keyword, resolving colloquial names to canonical brand forms.

      Parameters

      • query: string
      • Optionaloptions: { limit?: number }

      Returns Promise<FindCompanyResult>

    • Bulk resolve domains to their canonical brand identities (max 100).

      Parameters

      • domains: string[]

      Returns Promise<
          Record<
              string,
              | {
                  canonical_id: string;
                  canonical_domain: string;
                  brand_name: string;
                  names?: { [key: string]: string }[];
                  keller_type?: "master" | "sub_brand" | "endorsed" | "independent";
                  parent_brand?: string;
                  house_domain?: string;
                  house_name?: string;
                  brand_agent_url?: string;
                  brand_manifest?: { [key: string]: unknown };
                  source: "brand_json" | "community" | "enriched";
              }
              | null,
          >,
      >

    • List brands in the registry with optional search and pagination.

      Parameters

      Returns Promise<
          {
              brands: {
                  domain: string;
                  brand_name?: string;
                  source: "brand_json"
                  | "community"
                  | "enriched"
                  | "hosted";
                  has_manifest: boolean;
                  verified: boolean;
                  house_domain?: string;
                  keller_type?: "master" | "sub_brand" | "endorsed" | "independent";
              }[];
              stats: Record<string, unknown>;
          },
      >

    • Fetch raw brand.json data for a domain.

      Parameters

      • domain: string

      Returns Promise<Record<string, unknown> | null>

    • Enrich a brand with Brandfetch data.

      Parameters

      • domain: string

      Returns Promise<Record<string, unknown>>

    • Save or update a community brand. Requires authentication.

      Parameters

      • brand: {
            domain: string;
            brand_name: string;
            brand_manifest?: { [key: string]: unknown };
        }
        • domain: string
          acmecorp.com
          
        • brand_name: string
          Acme Corp
          
        • Optionalbrand_manifest?: { [key: string]: unknown }

      Returns Promise<
          {
              success: true;
              message: string;
              domain: string;
              id: string;
              revision_number?: number;
          },
      >

    • Resolve a single domain to its property information.

      Parameters

      • domain: string

      Returns Promise<
          | {
              publisher_domain: string;
              source: "hosted"
              | "adagents_json"
              | "discovered";
              authorized_agents?: { url: string; authorized_for?: string }[];
              properties?: {
                  id?: string;
                  type?: string;
                  name?: string;
                  identifiers?: { type: string; value: string }[];
                  tags?: string[];
              }[];
              contact?: { name?: string; email?: string };
              verified: boolean;
          }
          | null,
      >

    • Bulk resolve domains to their property information (max 100).

      Parameters

      • domains: string[]

      Returns Promise<
          Record<
              string,
              | {
                  publisher_domain: string;
                  source: "hosted"
                  | "adagents_json"
                  | "discovered";
                  authorized_agents?: { url: string; authorized_for?: string }[];
                  properties?: {
                      id?: string;
                      type?: string;
                      name?: string;
                      identifiers?: { type: string; value: string }[];
                      tags?: string[];
                  }[];
                  contact?: { name?: string; email?: string };
                  verified: boolean;
              }
              | null,
          >,
      >

    • Bulk resolve any number of domains to property information. Automatically paginates in batches of 100, running up to concurrency batches in parallel (default 5).

      Parameters

      • domains: string[]
      • Optionaloptions: { concurrency?: number }

      Returns Promise<
          Record<
              string,
              | {
                  publisher_domain: string;
                  source: "hosted"
                  | "adagents_json"
                  | "discovered";
                  authorized_agents?: { url: string; authorized_for?: string }[];
                  properties?: {
                      id?: string;
                      type?: string;
                      name?: string;
                      identifiers?: { type: string; value: string }[];
                      tags?: string[];
                  }[];
                  contact?: { name?: string; email?: string };
                  verified: boolean;
              }
              | null,
          >,
      >

    • Check which domains exist in the registry. Convenience wrapper over lookupPropertiesAll that returns a simple boolean map. Use this for existence checks; use lookupPropertiesAll when you need the full property data.

      Parameters

      • domains: string[]
      • Optionaloptions: { concurrency?: number }

      Returns Promise<Record<string, boolean>>

    • List properties in the registry with optional search and pagination.

      Parameters

      Returns Promise<
          {
              properties: {
                  domain: string;
                  source: | "community"
                  | "enriched"
                  | "hosted"
                  | "adagents_json"
                  | "discovered";
                  property_count: number;
                  agent_count: number;
                  verified: boolean;
              }[];
              stats: Record<string, unknown>;
          },
      >

    • Validate a domain's adagents.json file.

      Parameters

      • domain: string

      Returns Promise<
          {
              valid: boolean;
              domain?: string;
              url?: string;
              errors?: string[];
              warnings?: string[];
              status_code?: number;
              raw_data?: { [key: string]: unknown };
          },
      >

    • Save or update a hosted property. Requires authentication.

      Parameters

      • property: {
            publisher_domain: string;
            authorized_agents: { url: string; authorized_for?: string }[];
            properties?: { type: string; name: string }[];
            contact?: { name?: string; email?: string };
        }
        • publisher_domain: string
          examplepub.com
          
        • authorized_agents: { url: string; authorized_for?: string }[]
          [
          {
          "url": "https://agent.example.com"
          }
          ]
        • Optionalproperties?: { type: string; name: string }[]
          [
          {
          "type": "website",
          "name": "Example Publisher"
          }
          ]
        • Optionalcontact?: { name?: string; email?: string }

      Returns Promise<
          { success: true; message: string; id: string; revision_number?: number },
      >

    • Save or update multiple hosted properties. Client-side fan-out over saveProperty with configurable concurrency. Returns results keyed by publisher_domain; failed saves include an error message.

      Parameters

      • properties: {
            publisher_domain: string;
            authorized_agents: { url: string; authorized_for?: string }[];
            properties?: { type: string; name: string }[];
            contact?: { name?: string; email?: string };
        }[]
        • publisher_domain: string
          examplepub.com
          
        • authorized_agents: { url: string; authorized_for?: string }[]
          [
          {
          "url": "https://agent.example.com"
          }
          ]
        • Optionalproperties?: { type: string; name: string }[]
          [
          {
          "type": "website",
          "name": "Example Publisher"
          }
          ]
        • Optionalcontact?: { name?: string; email?: string }
      • Optionaloptions: { concurrency?: number }

      Returns Promise<
          Record<
              string,
              | { success: true; message: string; id: string; revision_number?: number }
              | { error: string },
          >,
      >

    • List registered agents with optional filtering.

      Parameters

      Returns Promise<
          {
              agents: {
                  url: string;
                  name: string;
                  type: | "brand"
                  | "unknown"
                  | "creative"
                  | "signals"
                  | "governance"
                  | "rights"
                  | "measurement"
                  | "sales"
                  | "buying";
                  protocol?: "mcp"
                  | "a2a";
                  description?: string;
                  mcp_endpoint?: string;
                  contact?: { name: string; email: string; website: string };
                  added_date?: string;
                  source?: "discovered" | "registered";
                  member?: { slug?: string; display_name?: string };
                  discovered_from?: { publisher_domain?: string; authorized_for?: string };
                  health?: {
                      online: boolean;
                      checked_at: string;
                      response_time_ms?: number;
                      tools_count?: number;
                      resources_count?: number;
                      error?: string;
                  };
                  stats?: {
                      property_count?: number;
                      publisher_count?: number;
                      publishers?: string[];
                      creative_formats?: number;
                  };
                  capabilities?: {
                      tools_count: number;
                      tools?: { name: string; description: string }[];
                      standard_operations?: {
                          can_search_inventory: boolean;
                          can_get_availability: boolean;
                          can_reserve_inventory: boolean;
                          can_get_pricing: boolean;
                          can_create_order: boolean;
                          can_list_properties: boolean;
                      };
                      creative_capabilities?: {
                          formats_supported: string[];
                          can_generate: boolean;
                          can_validate: boolean;
                          can_preview: boolean;
                      };
                  };
                  compliance?: {
                      status: "unknown"
                      | "passing"
                      | "degraded"
                      | "failing";
                      lifecycle_stage: "production" | "deprecated" | "development" | "testing";
                      tracks: { [key: string]: string };
                      streak_days: number;
                      last_checked_at: string | null;
                      headline: string | null;
                      monitoring_paused?: boolean;
                      check_interval_hours?: number;
                  };
                  publisher_domains?: string[];
                  property_summary?: {
                      total_count: number;
                      count_by_type: { [key: string]: number };
                      tags: string[];
                      publisher_count: number;
                  };
              }[];
              count: number;
              sources: Record<string, unknown>;
          },
      >

    • List publishers in the registry.

      Returns Promise<
          {
              publishers: {
                  domain: string;
                  source?: "discovered"
                  | "registered";
                  member?: { slug?: string; display_name?: string };
                  agent_count?: number;
                  last_validated?: string;
                  discovered_from?: { agent_url?: string };
                  has_valid_adagents?: boolean;
                  discovered_at?: string;
              }[];
              count: number;
              sources: Record<string, unknown>;
          },
      >

    • Get aggregate registry statistics.

      Returns Promise<Record<string, unknown>>

    • Get compliance status for an agent, including storyboard pass/fail counts. Returns null if agent not found.

      Parameters

      • agentUrl: string

      Returns Promise<
          | {
              agent_url: string;
              status: "unknown"
              | "passing"
              | "degraded"
              | "failing"
              | "opted_out";
              lifecycle_stage: "production" | "deprecated" | "development" | "testing";
              compliance_opt_out?: boolean;
              tracks?: { [key: string]: string };
              streak_days?: number;
              last_checked_at?: string | null;
              last_passed_at?: string | null;
              last_failed_at?: string | null;
              headline?: string | null;
              status_changed_at?: string | null;
              storyboards_passing?: number;
              storyboards_total?: number;
          }
          | null,
      >

    • Get per-storyboard compliance detail for an agent. Requires authentication.

      Parameters

      • agentUrl: string

      Returns Promise<
          {
              agent_url: string;
              storyboards: {
                  storyboard_id: string;
                  title: string;
                  category: string
                  | null;
                  track: string | null;
                  status: "partial" | "passing" | "failing" | "untested";
                  steps_passed: number;
                  steps_total: number;
                  last_tested_at: string | null;
                  last_passed_at: string | null;
              }[];
              passing_count: number;
              total_count: number;
          },
      >

    • Bulk query storyboard status for up to 100 agents. Requires authentication.

      Parameters

      • agentUrls: string[]

      Returns Promise<
          {
              agents: {
                  [key: string]: | {
                      storyboard_id: string;
                      title: string;
                      category: string
                      | null;
                      track: string | null;
                      status: "partial" | "passing" | "failing" | "untested";
                      steps_passed: number;
                      steps_total: number;
                      last_tested_at: string | null;
                      last_passed_at: string | null;
                  }[]
                  | { status: "opted_out" };
              };
              invalid_urls?: number;
          },
      >

    • Look up which agents a domain operates and which publishers trust them. Returns null if not found.

      The optional scope argument names a single agent-visibility bucket and acts as a narrowing filter over the caller's auth — it can never widen the view beyond what the caller's tier would otherwise return.

      • 'public' — only visibility=public. Anonymous-equivalent view; useful for pre-sign-in pickers driven by an admin-tier API key whose only purpose is rate-limit + audit attribution.
      • 'member' — public + members_only. members_only requires API tier; anonymous / explorer-tier callers silently fall through to public-only (no 403).
      • 'private' — only visibility=private. Profile-owner only; non-owners get an empty agents array rather than 403. An empty result with this scope means either "you are the owner and have no drafts" or "you are not the owner" — the SDK can't tell them apart, only the caller can.
      • omitted / 'all' — tier-aware union (public + members_only when authorized + owner's private). Preserves historical behavior.

      Older AAO servers that predate this enum silently ignore unknown ?scope= values and return the tier-aware union; the filter is server-enforced.

      Parameters

      • domain: string
      • Optionalopts: { scope?: "all" | "public" | "private" | "member" }

      Returns Promise<
          | {
              domain: string;
              member: { slug?: string; display_name?: string }
              | null;
              agents: {
                  url: string;
                  name: string;
                  type:
                      | "brand"
                      | "unknown"
                      | "creative"
                      | "signals"
                      | "governance"
                      | "rights"
                      | "measurement"
                      | "sales"
                      | "buying";
                  authorized_by: {
                      publisher_domain: string;
                      authorized_for?: string;
                      source: "adagents_json"
                      | "agent_claim";
                  }[];
              }[];
          }
          | null,
      >

    • Look up the inventory a domain publishes and which agents it authorizes. Returns null if not found.

      Unlike lookupOperator, this endpoint has no visibility-tier semantics; there is no scope filter.

      Parameters

      • domain: string

      Returns Promise<
          | {
              domain: string;
              member: { slug?: string; display_name?: string }
              | null;
              adagents_valid: boolean | null;
              properties: {
                  id?: string;
                  type?: string;
                  name?: string;
                  identifiers?: { type: string; value: string }[];
                  tags?: string[];
              }[];
              authorized_agents: {
                  url: string;
                  authorized_for?: string;
                  source: "adagents_json"
                  | "agent_claim";
              }[];
          }
          | null,
      >

    • Look up which agents are authorized for a domain. Returns agent authorization data (authorized_agents, sales_agents_claiming). To check if a domain exists in the registry, use lookupProperty() or domainsExist() instead.

      Parameters

      • domain: string

      Returns Promise<
          {
              domain: string;
              authorized_agents: {
                  url: string;
                  authorized_for?: string;
                  source?: "discovered"
                  | "registered";
                  member?: { slug?: string; display_name?: string };
              }[];
              sales_agents_claiming: {
                  url: string;
                  source?: "discovered"
                  | "registered";
                  member?: { slug?: string; display_name?: string };
              }[];
          },
      >

    • Look up agents authorized for multiple domains. Client-side fan-out over lookupDomain (no server bulk endpoint yet). Domains that fail individually are omitted from the result.

      Parameters

      • domains: string[]
      • Optionaloptions: { concurrency?: number }

      Returns Promise<
          Record<
              string,
              {
                  domain: string;
                  authorized_agents: {
                      url: string;
                      authorized_for?: string;
                      source?: "discovered"
                      | "registered";
                      member?: { slug?: string; display_name?: string };
                  }[];
                  sales_agents_claiming: {
                      url: string;
                      source?: "discovered"
                      | "registered";
                      member?: { slug?: string; display_name?: string };
                  }[];
              },
          >,
      >

    • Look up agents authorized for multiple property identifiers. Client-side fan-out over lookupPropertyByIdentifier. Identifiers that fail individually are omitted from the result.

      Parameters

      • identifiers: { type: string; value: string }[]
      • Optionaloptions: { concurrency?: number }

      Returns Promise<Record<string, Record<string, unknown>>>

    • Look up agents by property identifier (type + value).

      Parameters

      • type: string
      • value: string

      Returns Promise<Record<string, unknown>>

    • Get domains associated with an agent.

      Parameters

      • agentUrl: string

      Returns Promise<{ agent_url: string; domains: string[]; count: number }>

    • Check if an agent is authorized for a specific property identifier.

      Parameters

      • agentUrl: string
      • identifierType: string
      • identifierValue: string

      Returns Promise<
          {
              agent_url: string;
              identifier_type: string;
              identifier_value: string;
              authorized: boolean;
              checked_at: string;
          },
      >

    • Validate product authorization for an agent across publisher properties.

      Parameters

      • agentUrl: string
      • publisherProperties: {
            publisher_domain?: string;
            property_types?: string[];
            property_ids?: string[];
            tags?: string[];
        }[]
        • Optionalpublisher_domain?: string
          examplepub.com
          
        • Optionalproperty_types?: string[]
        • Optionalproperty_ids?: string[]
        • Optionaltags?: string[]

      Returns Promise<Record<string, unknown>>

    • Expand product identifiers for an agent across publisher properties.

      Parameters

      • agentUrl: string
      • publisherProperties: {
            publisher_domain?: string;
            property_types?: string[];
            property_ids?: string[];
            tags?: string[];
        }[]
        • Optionalpublisher_domain?: string
          examplepub.com
          
        • Optionalproperty_types?: string[]
        • Optionalproperty_ids?: string[]
        • Optionaltags?: string[]

      Returns Promise<Record<string, unknown>>

    • Check a list of publisher domains against the AAO registry.

      Normalizes domains (strips www/m prefixes), removes duplicates, flags known ad tech infrastructure, and identifies domains not yet in the registry. Returns four buckets:

      • remove: duplicates or known blocked domains (ad servers, CDNs, trackers)
      • modify: domains that were normalized (e.g. www.example.comexample.com)
      • assess: unknown domains not in registry, not blocked
      • ok: domains found in registry with no changes needed

      Results are stored for 7 days and retrievable via the report_id.

      For domains in the modify bucket, use the canonical value (not the original input) for subsequent lookupProperties/lookupDomain calls.

      Parameters

      • domains: string[]

      Returns Promise<
          {
              summary: {
                  total: number;
                  remove: number;
                  modify: number;
                  assess: number;
                  ok: number;
              };
              remove: {
                  input: string;
                  canonical: string;
                  reason: "duplicate"
                  | "blocked";
                  domain_type?: string;
                  blocked_reason?: string;
              }[];
              modify: { input: string; canonical: string; reason: string }[];
              assess: { domain: string }[];
              ok: { domain: string; source: string }[];
              report_id: string;
          },
      >

    • Retrieve a previously stored property check report by ID. Reports expire after 7 days.

      Note: the report endpoint only returns the summary counts, not the full per-domain buckets. Use checkPropertyList to get the full detail (stored for 7 days via report_id).

      Parameters

      • reportId: string

      Returns Promise<
          {
              summary: {
                  total: number;
                  remove: number;
                  modify: number;
                  assess: number;
                  ok: number;
              };
          },
      >

    • Validate a domain's adagents.json compliance.

      Parameters

      • domain: string

      Returns Promise<Record<string, unknown>>

    • Generate a valid adagents.json from an agent configuration.

      Parameters

      • config: {
            authorized_agents: { url: string; authorized_for?: string }[];
            include_schema?: boolean;
            include_timestamp?: boolean;
            properties?: unknown[];
        }

      Returns Promise<Record<string, unknown>>

    • Search brands, publishers, and properties.

      Parameters

      • query: string

      Returns Promise<{ brands: unknown[]; publishers: unknown[]; properties: unknown[] }>

    • Look up a manifest reference by domain.

      Parameters

      • domain: string
      • Optionaltype: string

      Returns Promise<Record<string, unknown>>

    • Probe a live agent endpoint to discover its capabilities.

      Parameters

      • url: string

      Returns Promise<Record<string, unknown>>

    • Get creative formats supported by an agent.

      Parameters

      • url: string

      Returns Promise<Record<string, unknown>>

    • Get products available from an agent.

      Parameters

      • url: string

      Returns Promise<Record<string, unknown>>

    • Validate a publisher domain's configuration.

      Parameters

      • domain: string

      Returns Promise<Record<string, unknown>>

    • Poll the catalog event feed. Returns events since the provided cursor. Consumers save cursor from the response and pass it on the next poll. When has_more is false, the consumer is caught up.

      Requires authentication.

      Parameters

      • Optionaloptions: { cursor?: string; types?: string; limit?: number }
        • Optionalcursor?: string

          Resume after this event ID

        • Optionaltypes?: string

          Comma-separated event type filters with glob support (e.g. property.*)

        • Optionallimit?: number

          Max events per page (default 100, max 10,000)

      Returns Promise<FeedResponse>

    • Search agents by inventory profile. Returns ranked results with match scores. All filters use AND logic across dimensions; multiple CSV values within a filter use OR.

      Requires authentication.

      Parameters

      • Optionalquery: AgentSearchQuery

      Returns Promise<AgentSearchResponse>

    • Request immediate re-crawl of a domain's adagents.json. Rate limited to one crawl per domain per 10 minutes.

      Requires authentication.

      Parameters

      • domain: string

      Returns Promise<{ message: "Crawl request accepted"; domain: string }>

    • List policies in the governance policy registry with optional filtering.

      Parameters

      • Optionalparams: {
            search?: string;
            category?: "regulation" | "standard";
            enforcement?: "must" | "should" | "may";
            jurisdiction?: string;
            policy_category?: string;
            domain?: string;
            limit?: number;
            offset?: number;
        }
        • Optionalsearch?: string

          Full-text search on policy name and description

        • Optionalcategory?: "regulation" | "standard"
        • Optionalenforcement?: "must" | "should" | "may"
        • Optionaljurisdiction?: string

          Filter by jurisdiction (includes region alias matching)

        • Optionalpolicy_category?: string
        • Optionaldomain?: string

          Filter by governance domain

        • Optionallimit?: number

          Results per page (default 20, max 1000)

        • Optionaloffset?: number

          Pagination offset (default 0)

      Returns Promise<
          {
              policies: {
                  policy_id: string;
                  version: string;
                  name: string;
                  description: string
                  | null;
                  category: "regulation" | "standard";
                  enforcement: "must" | "should" | "may";
                  jurisdictions: string[];
                  region_aliases: { [key: string]: string[] };
                  policy_categories: string[];
                  channels: string[] | null;
                  governance_domains: string[];
                  effective_date: string | null;
                  sunset_date: string | null;
                  source_url: string | null;
                  source_name: string | null;
                  source_type: "registry" | "community";
                  review_status: "approved" | "pending";
                  created_at: string;
                  updated_at: string;
              }[];
              stats: { total: number; regulation: number; standard: number };
          },
      >

    • Resolve a single policy by ID. Optionally pin to a specific version.

      Parameters

      • params: { policy_id: string; version?: string }
        • policy_id: string
        • Optionalversion?: string

          Return null if the current version does not match

      Returns Promise<
          | {
              policy_id: string;
              version: string;
              name: string;
              description: string
              | null;
              category: "regulation" | "standard";
              enforcement: "must" | "should" | "may";
              jurisdictions: string[];
              region_aliases: { [key: string]: string[] };
              policy_categories: string[];
              channels: string[] | null;
              governance_domains: string[];
              effective_date: string | null;
              sunset_date: string | null;
              source_url: string | null;
              source_name: string | null;
              policy: string;
              guidance: string | null;
              exemplars:
                  | {
                      pass?: { scenario: string; explanation: string }[];
                      fail?: { scenario: string; explanation: string }[];
                  }
                  | null;
              ext: { [key: string]: unknown }
              | null;
              source_type: "registry" | "community";
              review_status: "approved" | "pending";
              created_at: string;
              updated_at: string;
          }
          | null,
      >

    • Bulk resolve up to 100 policies by ID in a single request.

      Parameters

      • body: { policy_ids: string[] }
        • policy_ids: string[]
          [
          "gdpr_consent",
          "coppa_children"
          ]

      Returns Promise<
          {
              results: {
                  [key: string]: {
                      policy_id: string;
                      version: string;
                      name: string;
                      description: string
                      | null;
                      category: "regulation" | "standard";
                      enforcement: "must" | "should" | "may";
                      jurisdictions: string[];
                      region_aliases: { [key: string]: string[] };
                      policy_categories: string[];
                      channels: string[] | null;
                      governance_domains: string[];
                      effective_date: string | null;
                      sunset_date: string | null;
                      source_url: string | null;
                      source_name: string | null;
                      policy: string;
                      guidance: string | null;
                      exemplars:
                          | {
                              pass?: { scenario: string; explanation: string }[];
                              fail?: { scenario: string; explanation: string }[];
                          }
                          | null;
                      ext: { [key: string]: unknown }
                      | null;
                      source_type: "registry" | "community";
                      review_status: "approved" | "pending";
                      created_at: string;
                      updated_at: string;
                  } & Record<string, never>;
              };
          },
      >

    • Retrieve the edit history for a policy.

      Parameters

      • params: { policy_id: string; limit?: number; offset?: number }
        • policy_id: string
        • Optionallimit?: number

          Results per page (max 100, default 20)

        • Optionaloffset?: number

          Pagination offset (default 0)

      Returns Promise<
          | {
              policy_id: string;
              total: number;
              revisions: {
                  revision_number: number;
                  editor_name: string;
                  edit_summary: string;
                  is_rollback: boolean;
                  rolled_back_to?: number;
                  created_at: string;
              }[];
          }
          | null,
      >

    • Create or update a community-contributed policy. Requires authentication.

      Parameters

      • body: {
            policy_id: string;
            version: string;
            name: string;
            category: "regulation" | "standard";
            enforcement: "must" | "should" | "may";
            policy: string;
            description?: string;
            jurisdictions?: string[];
            region_aliases?: { [key: string]: string[] };
            policy_categories?: string[];
            channels?: string[];
            effective_date?: string;
            sunset_date?: string;
            governance_domains?: string[];
            source_url?: string;
            source_name?: string;
            guidance?: string;
            exemplars?: {
                pass?: { scenario: string; explanation: string }[];
                fail?: { scenario: string; explanation: string }[];
            };
            ext?: { [key: string]: unknown };
        }
        • policy_id: string

          Lowercase alphanumeric with underscores

          my_brand_safety
          
        • version: string
          1.0.0
          
        • name: string
          Acme Corp Brand Safety
          
        • category: "regulation" | "standard"
        • enforcement: "must" | "should" | "may"
        • policy: string
          Ads must not appear adjacent to content depicting violence...
          
        • Optionaldescription?: string
        • Optionaljurisdictions?: string[]
        • Optionalregion_aliases?: { [key: string]: string[] }
        • Optionalpolicy_categories?: string[]
        • Optionalchannels?: string[]
        • Optionaleffective_date?: string
        • Optionalsunset_date?: string
        • Optionalgovernance_domains?: string[]
        • Optionalsource_url?: string

          Must use http:// or https://

        • Optionalsource_name?: string
        • Optionalguidance?: string
        • Optionalexemplars?: {
              pass?: { scenario: string; explanation: string }[];
              fail?: { scenario: string; explanation: string }[];
          }
        • Optionalext?: { [key: string]: unknown }

      Returns Promise<
          {
              success: true;
              message: string;
              policy_id: string;
              revision_number: number
              | null;
          },
      >

    • Retrieve brand activity history for a domain.

      Parameters

      • params: { domain: string; limit?: number; offset?: number }

      Returns Promise<
          | {
              domain: string;
              total: number;
              revisions: {
                  revision_number: number;
                  editor_name: string;
                  edit_summary: string;
                  source?: string;
                  is_rollback: boolean;
                  rolled_back_to?: number;
                  created_at: string;
              }[];
          }
          | null,
      >

    • Retrieve property activity history for a domain.

      Parameters

      • params: { domain: string; limit?: number; offset?: number }

      Returns Promise<
          | {
              domain: string;
              total: number;
              revisions: {
                  revision_number: number;
                  editor_name: string;
                  edit_summary: string;
                  source?: string;
                  is_rollback: boolean;
                  rolled_back_to?: number;
                  created_at: string;
              }[];
          }
          | null,
      >