> ## Documentation Index
> Fetch the complete documentation index at: https://agenticadvertisingorg-snap-format-preview-links.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate adagents.json

> Generate a valid adagents.json file from authorized agents and/or catalog content. `authorized_agents` may be empty for a catalog-only community mirror that publishes formats/properties/placements for a platform that has not adopted AdCP.



## OpenAPI

````yaml /static/openapi/registry.yaml post /api/adagents/create
openapi: 3.1.0
info:
  title: AgenticAdvertising.org Registry API
  description: >-
    REST API for the AgenticAdvertising.org registry. Resolve brands,

    discover properties, look up agents, and validate authorization in the

    AdCP ecosystem.


    Most endpoints are public and require no authentication. Endpoints marked

    with a lock icon accept either an organization API key or a user JWT

    obtained via the OAuth 2.1 flow — see
    [Authentication](https://agenticadvertising.org/docs/registry/index#authentication).


    **Base URL:** `https://agenticadvertising.org`
  version: 1.0.0
  contact:
    name: AgenticAdvertising.org
    url: https://agenticadvertising.org
servers:
  - url: https://agenticadvertising.org
    description: Production
security: []
tags:
  - name: Onboarding
    description: >-
      Explicitly bootstrap a third-party integration into the AAO registry. Most
      callers don't need this tag — `POST /api/me/agents` auto-creates the org
      (for fresh users) and the member profile (for first-time agent
      registration) without a separate round trip. Use `POST /api/organizations`
      only when you need to override the auto-derived org name / company_type /
      revenue_tier. Tier transitions happen via the billing flow only; the
      Stripe webhook is the sole writer of `organizations.membership_tier`.
  - name: Member Agents
    description: >-
      Register, list, update, and remove agents on the caller's organization
      member profile. Authenticated programmatic surface for CI / scripts that
      don't want to round-trip the full member profile.
  - name: Brand Resolution
    description: Resolve advertiser domains to canonical brand identities.
  - name: Property Resolution
    description: >-
      Resolve publisher domains to their property configurations and authorized
      agents.
  - name: Agent Discovery
    description: >-
      Browse the federated agent network, search agent inventory profiles,
      publisher index, and registry statistics.
  - name: Change Feed
    description: Poll cursor-based registry change events for local sync.
  - name: Lookups & Authorization
    description: >-
      Look up agents by domain or property, and validate ad-serving
      authorization.
  - name: Validation Tools
    description: >-
      Validate publisher adagents.json files and generate compliant
      configurations.
  - name: Community Mirrors
    description: >-
      Publish, fetch, list, and retire catalog-only adagents.json mirrors for
      platforms that have not adopted AdCP.
  - name: Search
    description: Cross-entity search across brands, publishers, agents, and properties.
  - name: Agent Probing
    description: >-
      Connect to live agents and inspect their capabilities, formats, and
      inventory.
  - name: Brand Discovery
    description: Discover and crawl brand.json files across domains.
  - name: Agent Compliance
    description: Agent compliance status, storyboard test results, and compliance history.
  - name: Policy Registry
    description: >-
      Browse, resolve, and contribute governance policies for campaign
      compliance.
paths:
  /api/adagents/create:
    post:
      tags:
        - Validation Tools
      summary: Generate adagents.json
      description: >-
        Generate a valid adagents.json file from authorized agents and/or
        catalog content. `authorized_agents` may be empty for a catalog-only
        community mirror that publishes formats/properties/placements for a
        platform that has not adopted AdCP.
      operationId: createAdagents
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                authorized_agents:
                  type: array
                  items:
                    $ref: '#/components/schemas/AdagentsAuthorizedAgent'
                include_schema:
                  type: boolean
                include_timestamp:
                  type: boolean
                properties:
                  type: array
                  items: {}
                catalog_etag:
                  type: string
                formats:
                  type: array
                  items: {}
                placements:
                  type: array
                  items: {}
                placement_tags:
                  type: object
                  additionalProperties: {}
              required:
                - authorized_agents
      responses:
        '200':
          description: Generated adagents.json
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAdagentsResponse'
components:
  schemas:
    AdagentsAuthorizedAgent:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: Agent endpoint URL.
        authorized_for:
          type: string
        authorization_type:
          type: string
          enum:
            - property_ids
            - property_tags
            - inline_properties
            - publisher_properties
            - signal_ids
            - signal_tags
        property_ids:
          type: array
          items:
            type: string
        property_tags:
          type: array
          items:
            type: string
        properties:
          type: array
          items:
            type: object
            additionalProperties: {}
            description: >-
              Protocol-defined catalog object. See the adagents.json JSON Schema
              for the authoritative nested shape.
        publisher_properties:
          type: array
          items:
            type: object
            properties:
              publisher_domain:
                type: string
              publisher_domains:
                type: array
                items:
                  type: string
              selection_type:
                type: string
                enum:
                  - all
                  - by_id
                  - by_tag
              property_ids:
                type: array
                items:
                  type: string
              property_tags:
                type: array
                items:
                  type: string
            required:
              - selection_type
        collections:
          type: array
          items:
            type: object
            properties:
              publisher_domain:
                type: string
              collection_ids:
                type: array
                items:
                  type: string
            required:
              - publisher_domain
              - collection_ids
        placement_ids:
          type: array
          items:
            type: string
        placement_tags:
          type: array
          items:
            type: string
        delegation_type:
          type: string
          enum:
            - direct
            - delegated
            - ad_network
        exclusive:
          type: boolean
        countries:
          type: array
          items:
            type: string
        effective_from:
          type: string
        effective_until:
          type: string
        signal_ids:
          type: array
          items:
            type: string
        signal_tags:
          type: array
          items:
            type: string
        signing_keys:
          type: array
          items:
            type: object
            additionalProperties: {}
      required:
        - url
      additionalProperties: {}
    CreateAdagentsResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          type: object
          properties:
            success:
              type: boolean
              enum:
                - true
            adagents_json:
              type: string
              description: Pretty-printed adagents.json document generated by the service.
            validation:
              $ref: '#/components/schemas/AdagentsValidationResult'
          required:
            - success
            - adagents_json
            - validation
        timestamp:
          type: string
          format: date-time
      required:
        - success
        - data
        - timestamp
    AdagentsValidationResult:
      type: object
      properties:
        valid:
          type: boolean
        errors:
          type: array
          items:
            $ref: '#/components/schemas/AdagentsValidationIssue'
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/AdagentsValidationWarning'
        domain:
          type: string
        url:
          type: string
        status_code:
          type: integer
        response_bytes:
          type: integer
          minimum: 0
        resolved_url:
          type: string
        raw_data: {}
        discovery_method:
          type: string
          enum:
            - direct
            - authoritative_location
            - ads_txt_managerdomain
            - adagents_authoritative
        manager_domain:
          type: string
      required:
        - valid
        - errors
        - warnings
        - domain
        - url
        - discovery_method
    AdagentsValidationIssue:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        severity:
          type: string
          enum:
            - error
      required:
        - field
        - message
        - severity
    AdagentsValidationWarning:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        suggestion:
          type: string
      required:
        - field
        - message

````