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

# Resolve policy

> Resolve a single policy by ID. Optionally pin to a specific version — returns null if the version does not match.



## OpenAPI

````yaml /static/openapi/registry.yaml get /api/policies/resolve
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/policies/resolve:
    get:
      tags:
        - Policy Registry
      summary: Resolve policy
      description: >-
        Resolve a single policy by ID. Optionally pin to a specific version —
        returns null if the version does not match.
      operationId: resolvePolicy
      parameters:
        - schema:
            type: string
            example: gdpr_consent
          required: true
          name: policy_id
          in: query
        - schema:
            type: string
            description: Return null if the current version does not match
          required: false
          description: Return null if the current version does not match
          name: version
          in: query
      responses:
        '200':
          description: Policy resolved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Policy'
        '400':
          description: Missing policy_id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Policy not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  policy_id:
                    type: string
                required:
                  - error
                  - policy_id
components:
  schemas:
    Policy:
      type: object
      properties:
        policy_id:
          type: string
          example: gdpr_consent
        version:
          type: string
          example: 1.0.0
        name:
          type: string
          example: GDPR Consent Requirements
        description:
          type:
            - string
            - 'null'
          example: Requirements for valid consent under GDPR
        category:
          type: string
          enum:
            - regulation
            - standard
        enforcement:
          type: string
          enum:
            - must
            - should
            - may
        jurisdictions:
          type: array
          items:
            type: string
          example:
            - EU
            - EEA
        region_aliases:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          example:
            EU:
              - DE
              - FR
              - IT
        policy_categories:
          type: array
          items:
            type: string
          example:
            - age_restricted
            - pharmaceutical_advertising
        channels:
          type:
            - array
            - 'null'
          items:
            type: string
          example:
            - display
            - video
        governance_domains:
          type: array
          items:
            type: string
          example:
            - campaign
            - creative
        effective_date:
          type:
            - string
            - 'null'
          example: '2025-05-25T00:00:00.000Z'
        sunset_date:
          type:
            - string
            - 'null'
        source_url:
          type:
            - string
            - 'null'
          example: https://eur-lex.europa.eu/eli/reg/2016/679/oj
        source_name:
          type:
            - string
            - 'null'
          example: EUR-Lex
        policy:
          type: string
          example: >-
            Data subjects must provide freely given, specific, informed and
            unambiguous consent...
        guidance:
          type:
            - string
            - 'null'
        exemplars:
          type:
            - object
            - 'null'
          properties:
            pass:
              type: array
              items:
                type: object
                properties:
                  scenario:
                    type: string
                    example: Ad for alcohol shown during children's programming
                  explanation:
                    type: string
                    example: Violates watershed timing rules for alcohol advertising
                required:
                  - scenario
                  - explanation
            fail:
              type: array
              items:
                type: object
                properties:
                  scenario:
                    type: string
                    example: Ad for alcohol shown during children's programming
                  explanation:
                    type: string
                    example: Violates watershed timing rules for alcohol advertising
                required:
                  - scenario
                  - explanation
        ext:
          type:
            - object
            - 'null'
          additionalProperties: {}
        source_type:
          type: string
          enum:
            - registry
            - community
        review_status:
          type: string
          enum:
            - pending
            - approved
        created_at:
          type: string
          example: '2026-03-01T12:00:00.000Z'
        updated_at:
          type: string
          example: '2026-03-01T12:00:00.000Z'
      required:
        - policy_id
        - version
        - name
        - description
        - category
        - enforcement
        - jurisdictions
        - region_aliases
        - policy_categories
        - channels
        - governance_domains
        - effective_date
        - sunset_date
        - source_url
        - source_name
        - policy
        - guidance
        - exemplars
        - ext
        - source_type
        - review_status
        - created_at
        - updated_at
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error

````