---
title: "Registry change feed"
method: GET
path: "/api/registry/feed"
tags: ["Change Feed"]
---

# Registry change feed

`GET /api/registry/feed`

Poll a cursor-based feed of registry changes. Events are ordered by UUID v7 event_id for monotonic cursor progression. The feed retains events for 90 days. The `freshness` object reports when the response was generated, the newest matching event currently visible to the feed, and the resulting feed lag.

Type filtering supports glob patterns: `property.*` matches `property.created`, `property.updated`, etc.

## Query parameters

- `cursor` string, uuid — Resume after this event ID
- `types` string — Comma-separated event type filters with glob support (e.g. property.*)
- `limit` integer — Max events per page (default 100, max 10,000)

## Response `200`

Feed page

- object
  - `events` RegistryFeedEvent[], required
    - union
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.discovered', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.removed', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.profile_updated', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.compliance_changed', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.verification_earned', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'agent.verification_lost', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AgentEventPayload, required
          - `agent_url` string, required — Canonical agent URL; the routing key for agent.* events (agents span many publishers).
          - `name` string
          - `type` string
          - `channels` string[]
          - `property_types` string[]
          - `markets` string[]
          - `categories` string[]
          - `category_taxonomy` string, nullable
          - `tags` string[]
          - `delivery_types` string[]
          - `format_ids` string[]
          - `property_count` integer
          - `publisher_count` integer
          - `has_tmp` boolean
          - `updated_at` string
          - `changed_fields` string[]
          - `inventory_profile` object — On agent.profile_updated: the agent's refreshed inventory profile.
          - `compliance_summary` object
          - `previous_status` string — On agent.compliance_changed: prior compliance/verification status.
          - `current_status` string — On agent.compliance_changed: new compliance/verification status.
          - `headline` string, nullable — On agent.compliance_changed: human-readable summary of the compliance transition.
          - `tracks` object — On agent.compliance_changed: map of compliance track id to track status.
          - `storyboards_passing` integer
          - `storyboards_total` integer
          - `storyboards` object[]
            - `storyboard_id` string, required
            - `status` string, required
            - `steps_passed` integer
            - `steps_total` integer
          - `role` string — On agent.verification_earned/lost: verified role affected by the badge transition.
          - `verified_specialisms` string[] — On agent.verification_earned: specialisms covered by the earned badge.
          - `reason` string — On agent.verification_lost: reason the badge was revoked.
          - `adcp_version` string — On agent.verification_earned/lost: AdCP version the badge applies to, when known.
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'property.created', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PropertyEventPayload, required
          - `property_rid` string
          - `publisher_domain` string — Publisher domain that owns the property; the routing key for property.* events.
          - `identifiers` PropertyIdentifier[]
            - `type` string, required
            - `value` string, required
          - `classification` string
          - `source` 'authoritative' | 'enriched' | 'contributed'
          - `property` object — Optional full post-change property object when available.
          - `changed_fields` string[]
          - `last_resolved_at` string — On property.stale: last successful resolution timestamp.
          - `reactivated_at` string — On property.reactivated: reactivation timestamp when available.
          - `reason` string — On property.stale: reason the property aged out of active resolution.
          - `alias_rid` string — On property.merged: the RID merged away.
          - `canonical_rid` string — On property.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'property.updated', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PropertyEventPayload, required
          - `property_rid` string
          - `publisher_domain` string — Publisher domain that owns the property; the routing key for property.* events.
          - `identifiers` PropertyIdentifier[]
            - `type` string, required
            - `value` string, required
          - `classification` string
          - `source` 'authoritative' | 'enriched' | 'contributed'
          - `property` object — Optional full post-change property object when available.
          - `changed_fields` string[]
          - `last_resolved_at` string — On property.stale: last successful resolution timestamp.
          - `reactivated_at` string — On property.reactivated: reactivation timestamp when available.
          - `reason` string — On property.stale: reason the property aged out of active resolution.
          - `alias_rid` string — On property.merged: the RID merged away.
          - `canonical_rid` string — On property.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'property.merged', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PropertyEventPayload, required
          - `property_rid` string
          - `publisher_domain` string — Publisher domain that owns the property; the routing key for property.* events.
          - `identifiers` PropertyIdentifier[]
            - `type` string, required
            - `value` string, required
          - `classification` string
          - `source` 'authoritative' | 'enriched' | 'contributed'
          - `property` object — Optional full post-change property object when available.
          - `changed_fields` string[]
          - `last_resolved_at` string — On property.stale: last successful resolution timestamp.
          - `reactivated_at` string — On property.reactivated: reactivation timestamp when available.
          - `reason` string — On property.stale: reason the property aged out of active resolution.
          - `alias_rid` string — On property.merged: the RID merged away.
          - `canonical_rid` string — On property.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'property.stale', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PropertyEventPayload, required
          - `property_rid` string
          - `publisher_domain` string — Publisher domain that owns the property; the routing key for property.* events.
          - `identifiers` PropertyIdentifier[]
            - `type` string, required
            - `value` string, required
          - `classification` string
          - `source` 'authoritative' | 'enriched' | 'contributed'
          - `property` object — Optional full post-change property object when available.
          - `changed_fields` string[]
          - `last_resolved_at` string — On property.stale: last successful resolution timestamp.
          - `reactivated_at` string — On property.reactivated: reactivation timestamp when available.
          - `reason` string — On property.stale: reason the property aged out of active resolution.
          - `alias_rid` string — On property.merged: the RID merged away.
          - `canonical_rid` string — On property.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'property.reactivated', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PropertyEventPayload, required
          - `property_rid` string
          - `publisher_domain` string — Publisher domain that owns the property; the routing key for property.* events.
          - `identifiers` PropertyIdentifier[]
            - `type` string, required
            - `value` string, required
          - `classification` string
          - `source` 'authoritative' | 'enriched' | 'contributed'
          - `property` object — Optional full post-change property object when available.
          - `changed_fields` string[]
          - `last_resolved_at` string — On property.stale: last successful resolution timestamp.
          - `reactivated_at` string — On property.reactivated: reactivation timestamp when available.
          - `reason` string — On property.stale: reason the property aged out of active resolution.
          - `alias_rid` string — On property.merged: the RID merged away.
          - `canonical_rid` string — On property.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'collection.created', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` CollectionEventPayload, required
          - `collection_rid` string
          - `publisher_domain` string — Publisher domain that owns the collection; the routing key for collection.* events.
          - `collection_id` string, nullable
          - `name` string, nullable
          - `kind` string, nullable
          - `source` string
          - `status` string
          - `identifiers` object[] — Distribution identifiers; the per-identifier publisher_domain (e.g. youtube.com) is the distribution surface, distinct from the owning publisher_domain above.
            - `publisher_domain` string, required
            - `type` string, required
            - `value` string, required
          - `collection` object
          - `changed_fields` string[]
          - `alias_rid` string — On collection.merged: the RID merged away.
          - `canonical_rid` string — On collection.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'collection.updated', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` CollectionEventPayload, required
          - `collection_rid` string
          - `publisher_domain` string — Publisher domain that owns the collection; the routing key for collection.* events.
          - `collection_id` string, nullable
          - `name` string, nullable
          - `kind` string, nullable
          - `source` string
          - `status` string
          - `identifiers` object[] — Distribution identifiers; the per-identifier publisher_domain (e.g. youtube.com) is the distribution surface, distinct from the owning publisher_domain above.
            - `publisher_domain` string, required
            - `type` string, required
            - `value` string, required
          - `collection` object
          - `changed_fields` string[]
          - `alias_rid` string — On collection.merged: the RID merged away.
          - `canonical_rid` string — On collection.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'collection.merged', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` CollectionEventPayload, required
          - `collection_rid` string
          - `publisher_domain` string — Publisher domain that owns the collection; the routing key for collection.* events.
          - `collection_id` string, nullable
          - `name` string, nullable
          - `kind` string, nullable
          - `source` string
          - `status` string
          - `identifiers` object[] — Distribution identifiers; the per-identifier publisher_domain (e.g. youtube.com) is the distribution surface, distinct from the owning publisher_domain above.
            - `publisher_domain` string, required
            - `type` string, required
            - `value` string, required
          - `collection` object
          - `changed_fields` string[]
          - `alias_rid` string — On collection.merged: the RID merged away.
          - `canonical_rid` string — On collection.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'collection.removed', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` CollectionEventPayload, required
          - `collection_rid` string
          - `publisher_domain` string — Publisher domain that owns the collection; the routing key for collection.* events.
          - `collection_id` string, nullable
          - `name` string, nullable
          - `kind` string, nullable
          - `source` string
          - `status` string
          - `identifiers` object[] — Distribution identifiers; the per-identifier publisher_domain (e.g. youtube.com) is the distribution surface, distinct from the owning publisher_domain above.
            - `publisher_domain` string, required
            - `type` string, required
            - `value` string, required
          - `collection` object
          - `changed_fields` string[]
          - `alias_rid` string — On collection.merged: the RID merged away.
          - `canonical_rid` string — On collection.merged: the surviving RID.
          - `evidence` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'authorization.granted', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AuthorizationEventPayload, required
          - `id` string, uuid — Registry authorization row id when the event is backed by a materialized effective authorization row.
          - `agent_url` string, required
          - `agent_url_canonical` string — Registry-canonicalized form of agent_url for equality checks.
          - `publisher_domain` string, required — Publisher domain the authorization applies to; the routing key for authorization.* events.
          - `authorization_type` string — Present on authorization.granted; authorization.revoked carries only agent_url + publisher_domain.
          - `authorized_for` string, nullable
          - `property_ids` string[]
          - `property_tags` string[]
          - `properties` object[]
          - `publisher_properties` object[]
          - `property_rid` string, nullable — Catalog property_rid for materialized per-property authorization rows. Null for publisher-wide rows.
          - `property_id_slug` string, nullable — Publisher-local property id for materialized per-property authorization rows.
          - `placement_ids` string[]
          - `placement_tags` string[]
          - `collections` object[]
            - `publisher_domain` string, required
            - `collection_ids` string[], required
          - `countries` string[]
          - `delegation_type` string
          - `exclusive` boolean
          - `effective_from` string
          - `effective_until` string
          - `signing_keys` object[]
          - `evidence` string
          - `disputed` boolean
          - `created_by` string, nullable
          - `expires_at` string, nullable
          - `created_at` string, nullable
          - `updated_at` string, nullable
          - `override_applied` boolean
          - `override_reason` string, nullable
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'authorization.revoked', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AuthorizationEventPayload, required
          - `id` string, uuid — Registry authorization row id when the event is backed by a materialized effective authorization row.
          - `agent_url` string, required
          - `agent_url_canonical` string — Registry-canonicalized form of agent_url for equality checks.
          - `publisher_domain` string, required — Publisher domain the authorization applies to; the routing key for authorization.* events.
          - `authorization_type` string — Present on authorization.granted; authorization.revoked carries only agent_url + publisher_domain.
          - `authorized_for` string, nullable
          - `property_ids` string[]
          - `property_tags` string[]
          - `properties` object[]
          - `publisher_properties` object[]
          - `property_rid` string, nullable — Catalog property_rid for materialized per-property authorization rows. Null for publisher-wide rows.
          - `property_id_slug` string, nullable — Publisher-local property id for materialized per-property authorization rows.
          - `placement_ids` string[]
          - `placement_tags` string[]
          - `collections` object[]
            - `publisher_domain` string, required
            - `collection_ids` string[], required
          - `countries` string[]
          - `delegation_type` string
          - `exclusive` boolean
          - `effective_from` string
          - `effective_until` string
          - `signing_keys` object[]
          - `evidence` string
          - `disputed` boolean
          - `created_by` string, nullable
          - `expires_at` string, nullable
          - `created_at` string, nullable
          - `updated_at` string, nullable
          - `override_applied` boolean
          - `override_reason` string, nullable
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'authorization.modified', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` AuthorizationEventPayload, required
          - `id` string, uuid — Registry authorization row id when the event is backed by a materialized effective authorization row.
          - `agent_url` string, required
          - `agent_url_canonical` string — Registry-canonicalized form of agent_url for equality checks.
          - `publisher_domain` string, required — Publisher domain the authorization applies to; the routing key for authorization.* events.
          - `authorization_type` string — Present on authorization.granted; authorization.revoked carries only agent_url + publisher_domain.
          - `authorized_for` string, nullable
          - `property_ids` string[]
          - `property_tags` string[]
          - `properties` object[]
          - `publisher_properties` object[]
          - `property_rid` string, nullable — Catalog property_rid for materialized per-property authorization rows. Null for publisher-wide rows.
          - `property_id_slug` string, nullable — Publisher-local property id for materialized per-property authorization rows.
          - `placement_ids` string[]
          - `placement_tags` string[]
          - `collections` object[]
            - `publisher_domain` string, required
            - `collection_ids` string[], required
          - `countries` string[]
          - `delegation_type` string
          - `exclusive` boolean
          - `effective_from` string
          - `effective_until` string
          - `signing_keys` object[]
          - `evidence` string
          - `disputed` boolean
          - `created_by` string, nullable
          - `expires_at` string, nullable
          - `created_at` string, nullable
          - `updated_at` string, nullable
          - `override_applied` boolean
          - `override_reason` string, nullable
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'publisher.adagents_changed', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PublisherEventPayload, required
          - `publisher_domain` string — Publisher domain whose adagents.json was discovered/changed; the routing key for publisher.* events.
          - `domain` string — Legacy alias for publisher_domain retained for early feed examples.
          - `properties_added` integer
          - `properties_removed` integer
          - `agents_added` string[]
          - `agents_removed` string[]
          - `agent_count` integer
          - `property_count` integer
          - `collection_count` integer
          - `discovery_method` string
          - `manager_domain` string, nullable
          - `source` string
        - `actor` string, required
        - `created_at` string, date-time, required
      - object
        - `event_id` string, uuid, required
        - `event_type` 'publisher.adagents_discovered', required
        - `entity_type` string, required
        - `entity_id` string, required
        - `payload` PublisherEventPayload, required
          - `publisher_domain` string — Publisher domain whose adagents.json was discovered/changed; the routing key for publisher.* events.
          - `domain` string — Legacy alias for publisher_domain retained for early feed examples.
          - `properties_added` integer
          - `properties_removed` integer
          - `agents_added` string[]
          - `agents_removed` string[]
          - `agent_count` integer
          - `property_count` integer
          - `collection_count` integer
          - `discovery_method` string
          - `manager_domain` string, nullable
          - `source` string
        - `actor` string, required
        - `created_at` string, date-time, required
  - `cursor` string, uuid, nullable, required — Pass as cursor in the next request to continue polling
  - `has_more` boolean, required
  - `freshness` object, required
    - `generated_at` string, date-time, required — Server timestamp when this feed page was generated.
    - `latest_event_created_at` string, date-time, nullable, required — Newest event creation timestamp currently visible in the feed for the requested type filter. Null when no matching event exists inside retention.
    - `lag_seconds` integer, nullable, required — Seconds between generated_at and latest_event_created_at. Null when no matching event exists.
    - `retention_days` integer, required — Number of days the registry retains feed cursors and events.

## Other responses

- `400` — Invalid cursor format or type filter
- `401` — Authentication required
- `410` — Cursor expired (older than 90-day retention window)

---

[API](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api.md) · [All operations](https://skmtc.net/adcontextprotocol/apis/agenticadvertising-org-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adcontextprotocol/agenticadvertising-org-registry-api/revisions/9ea7fedf54c0/schema)
