> ## Documentation Index
> Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Inspect buyer-agent configuration and readiness

> Return the official SDK-backed principal readback together with secret-free notification proof, reporting-destination generations, seller-driven principal.changed transitions, exact-human administration audit records, and five independent readiness gates. A directly authenticated WorkOS organization administrator is required. Proof success, capability, identity, credentials, and business authority are never inferred from one another.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml get /buyer-agent-principals/{principalId}/administration
openapi: 3.0.0
info:
  title: Scope3 Buyer API
  version: 2.0.0
  description: |-
    REST API for advertisers to manage advertisers, campaigns, and reporting.

    ## Authentication

    All endpoints require a Bearer token in the Authorization header:
    ```
    Authorization: Bearer your-api-key
    ```

    ## Base URL

    `https://api.interchange.io/api/v2/buyer`

    ## For AI Agents

    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:
    - `initialize`: Start an MCP session
    - `api_call`: Make REST API calls
    - `ask_about_capability`: Learn about API features
servers:
  - url: https://api.interchange.io/api/v2/buyer
    description: Production server
security: []
tags:
  - name: Signup
    description: Request reviewed access to Interchange
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Asks
    description: >-
      What you are waiting on Scope3 for — support, product, and supply asks in
      one list
  - name: Advertisers
    description: Manage advertisers
  - name: Product Discovery
    description: Discover and select products
  - name: Campaigns
    description: Manage advertising campaigns
  - name: Creatives
    description: Build, manage, and sync campaign creatives via AdCP Creative Protocol
  - name: Reporting
    description: Access performance metrics
  - name: Event Sources
    description: >-
      Manage event source configurations and log conversion/marketing events for
      attribution
  - name: Property Lists
    description: Validate property lists against AAO registry
  - name: Sales Agents
    description: View and connect sales agents
  - name: Measurement
    description: Measurement sources, records, context, and freshness
  - name: Syndication
    description: Syndicate resources to ADCP agents
  - name: Tasks
    description: Track async operation status
  - name: Buyer Billing
    description: >-
      Consolidated invoicing for buyers — invoices and pending invoice items
      issued by Scope3 across the buyer customer.
  - name: MCP
    description: Model Context Protocol endpoints for AI agents
paths:
  /buyer-agent-principals/{principalId}/administration:
    servers:
      - url: https://api.interchange.io/api/v2
        description: Production server
    get:
      tags:
        - Buyer Agent Principals
      summary: Inspect buyer-agent configuration and readiness
      description: >-
        Return the official SDK-backed principal readback together with
        secret-free notification proof, reporting-destination generations,
        seller-driven principal.changed transitions, exact-human administration
        audit records, and five independent readiness gates. A directly
        authenticated WorkOS organization administrator is required. Proof
        success, capability, identity, credentials, and business authority are
        never inferred from one another.
      operationId: getBuyerAgentPrincipalAdministration
      parameters:
        - in: query
          name: storefrontId
          schema:
            type: integer
            minimum: 0
            exclusiveMinimum: true
            maximum: 9007199254740991
          required: true
        - in: path
          name: principalId
          schema:
            type: string
            pattern: ^prin_[A-Za-z0-9_-]{32}$
          required: true
      responses:
        '200':
          description: Inspect buyer-agent configuration and readiness
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BuyerAgentPrincipalAdministrationApiResponse
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            The caller is not a directly authenticated WorkOS organization
            administrator, or the principal is outside the verified
            organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: >-
            No buyer-agent principal with this identifier exists in the verified
            organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    BuyerAgentPrincipalAdministrationApiResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            principal:
              type: object
              properties:
                principalId:
                  type: string
                  pattern: ^prin_[A-Za-z0-9_-]{32}$
                displayName:
                  type: string
                  minLength: 1
                lifecycleState:
                  type: string
                  enum:
                    - active
                    - suspended
                    - retired
                activeCredentialCount:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
              required:
                - principalId
                - displayName
                - lifecycleState
                - activeCredentialCount
              additionalProperties: false
            readback:
              anyOf:
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - current
                    principal_id:
                      type: string
                      minLength: 1
                      maxLength: 255
                    principal_kind:
                      anyOf:
                        - type: string
                          enum:
                            - buyer_agent
                        - type: string
                          enum:
                            - operator
                    configuration_version:
                      type: string
                      minLength: 1
                      maxLength: 255
                    configuration:
                      type: object
                      properties:
                        notification_configs:
                          type: array
                          items:
                            type: object
                            properties:
                              subscriber_id:
                                type: string
                                minLength: 1
                                maxLength: 64
                                pattern: ^[A-Za-z0-9_.:-]{1,64}$
                              url:
                                type: string
                              event_types:
                                type: array
                                items:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - scheduled
                                    - type: string
                                      enum:
                                        - final
                                    - type: string
                                      enum:
                                        - delayed
                                    - type: string
                                      enum:
                                        - adjusted
                                    - type: string
                                      enum:
                                        - window_update
                                    - type: string
                                      enum:
                                        - impairment
                                    - type: string
                                      enum:
                                        - creative.status_changed
                                    - type: string
                                      enum:
                                        - creative.assignment_changed
                                    - type: string
                                      enum:
                                        - indicators.changed
                                    - type: string
                                      enum:
                                        - creative.purged
                                    - type: string
                                      enum:
                                        - account.status_changed
                                    - type: string
                                      enum:
                                        - account.change_recorded
                                    - type: string
                                      enum:
                                        - product.created
                                    - type: string
                                      enum:
                                        - product.updated
                                    - type: string
                                      enum:
                                        - product.priced
                                    - type: string
                                      enum:
                                        - product.removed
                                    - type: string
                                      enum:
                                        - signal.created
                                    - type: string
                                      enum:
                                        - signal.updated
                                    - type: string
                                      enum:
                                        - signal.priced
                                    - type: string
                                      enum:
                                        - signal.removed
                                    - type: string
                                      enum:
                                        - wholesale_feed.bulk_change
                                    - type: string
                                      enum:
                                        - capabilities.changed
                                    - type: string
                                      enum:
                                        - reporting.delivery_ready
                                    - type: string
                                      enum:
                                        - reporting.status_changed
                                    - type: string
                                      enum:
                                        - reporting.ledger_changed
                                    - type: string
                                      enum:
                                        - principal.changed
                              all_authorized_accounts:
                                type: boolean
                              include_future_event_types:
                                type: boolean
                              authentication:
                                type: object
                                properties:
                                  schemes:
                                    type: array
                                    items:
                                      anyOf:
                                        - anyOf:
                                            - type: string
                                              enum:
                                                - Bearer
                                            - type: string
                                              enum:
                                                - HMAC-SHA256
                                    minItems: 1
                                    maxItems: 1
                                required:
                                  - schemes
                                additionalProperties: {}
                              active:
                                type: boolean
                              ext:
                                type: object
                                additionalProperties: {}
                            required:
                              - subscriber_id
                              - url
                              - event_types
                            additionalProperties: {}
                        reporting_destinations:
                          maxItems: 64
                          type: array
                          items:
                            type: object
                            properties:
                              destination_id:
                                type: string
                                minLength: 1
                                maxLength: 64
                                pattern: ^[A-Za-z0-9_.:-]{1,64}$
                              destination_ref:
                                type: string
                                minLength: 1
                                maxLength: 255
                              prior_destination_refs:
                                maxItems: 32
                                type: array
                                items:
                                  type: string
                              state:
                                anyOf:
                                  - type: string
                                    enum:
                                      - validating
                                  - type: string
                                    enum:
                                      - ready
                                  - type: string
                                    enum:
                                      - action_required
                                  - type: string
                                    enum:
                                      - inactive
                                  - type: string
                                    enum:
                                      - rejected
                              configuration:
                                anyOf:
                                  - type: object
                                    properties:
                                      pattern:
                                        type: string
                                        enum:
                                          - file_transfer
                                      destination_id:
                                        type: string
                                      operator_id:
                                        type: string
                                      active:
                                        type: boolean
                                      provider:
                                        type: object
                                        properties:
                                          domain:
                                            type: string
                                            pattern: >-
                                              ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$
                                        required:
                                          - domain
                                        additionalProperties: {}
                                      transport:
                                        type: string
                                      location:
                                        type: string
                                      accepted_formats:
                                        type: array
                                        items:
                                          anyOf:
                                            - type: string
                                              enum:
                                                - jsonl
                                            - type: string
                                              enum:
                                                - csv
                                            - type: string
                                              enum:
                                                - parquet
                                            - type: string
                                              enum:
                                                - avro
                                            - type: string
                                              enum:
                                                - orc
                                      accepted_verification_profiles:
                                        type: array
                                        items:
                                          anyOf:
                                            - type: string
                                              enum:
                                                - native_commit
                                            - type: string
                                              enum:
                                                - manifest_checksums
                                            - type: string
                                              enum:
                                                - canonical_digest
                                    required:
                                      - pattern
                                      - destination_id
                                      - active
                                      - provider
                                      - transport
                                      - location
                                      - accepted_formats
                                      - accepted_verification_profiles
                                    additionalProperties: {}
                                  - type: object
                                    properties:
                                      pattern:
                                        type: string
                                        enum:
                                          - warehouse_materialization
                                      destination_id:
                                        type: string
                                      operator_id:
                                        type: string
                                      active:
                                        type: boolean
                                      provider:
                                        type: object
                                        properties:
                                          domain:
                                            type: string
                                            pattern: >-
                                              ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$
                                        required:
                                          - domain
                                        additionalProperties: {}
                                      transport:
                                        type: string
                                      location:
                                        type: string
                                      accepted_verification_profiles:
                                        type: array
                                        items:
                                          anyOf:
                                            - type: string
                                              enum:
                                                - native_commit
                                            - type: string
                                              enum:
                                                - manifest_checksums
                                            - type: string
                                              enum:
                                                - canonical_digest
                                    required:
                                      - pattern
                                      - destination_id
                                      - active
                                      - provider
                                      - transport
                                      - location
                                      - accepted_verification_profiles
                                    additionalProperties: {}
                                  - type: object
                                    properties:
                                      pattern:
                                        type: string
                                        enum:
                                          - dataset_share
                                      destination_id:
                                        type: string
                                      operator_id:
                                        type: string
                                      active:
                                        type: boolean
                                      provider:
                                        type: object
                                        properties:
                                          domain:
                                            type: string
                                            pattern: >-
                                              ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$
                                        required:
                                          - domain
                                        additionalProperties: {}
                                      transport:
                                        type: string
                                      access_mode:
                                        type: string
                                      recipient:
                                        type: object
                                        properties:
                                          identity:
                                            type: string
                                            minLength: 1
                                            maxLength: 512
                                          cloud:
                                            anyOf:
                                              - type: string
                                                enum:
                                                  - aws
                                              - type: string
                                                enum:
                                                  - azure
                                              - type: string
                                                enum:
                                                  - gcp
                                          region:
                                            type: string
                                            minLength: 1
                                            maxLength: 128
                                        required:
                                          - identity
                                        additionalProperties: {}
                                      accepted_verification_profiles:
                                        type: array
                                        items:
                                          anyOf:
                                            - type: string
                                              enum:
                                                - native_commit
                                            - type: string
                                              enum:
                                                - manifest_checksums
                                            - type: string
                                              enum:
                                                - canonical_digest
                                    required:
                                      - pattern
                                      - destination_id
                                      - active
                                      - provider
                                      - transport
                                      - access_mode
                                      - recipient
                                      - accepted_verification_profiles
                                    additionalProperties: {}
                              setup:
                                type: object
                                properties:
                                  action:
                                    anyOf:
                                      - type: string
                                        enum:
                                          - grant_access
                                      - type: string
                                        enum:
                                          - accept_share
                                      - type: string
                                        enum:
                                          - prove_control
                                      - type: string
                                        enum:
                                          - contact_support
                                  setup_url:
                                    type: string
                                    pattern: ^https:\/\/[!z.string()-;=@-~]+$
                                  expires_at:
                                    type: string
                                required:
                                  - action
                                additionalProperties: {}
                              issues:
                                maxItems: 16
                                type: array
                                items:
                                  type: object
                                  properties:
                                    code:
                                      type: string
                                      minLength: 1
                                      maxLength: 64
                                    message:
                                      type: string
                                    buyer_reason:
                                      type: object
                                      properties:
                                        code:
                                          type: string
                                          minLength: 1
                                          maxLength: 64
                                        message:
                                          type: string
                                      required:
                                        - code
                                        - message
                                      additionalProperties: {}
                                    field:
                                      type: string
                                    suggestion:
                                      type: string
                                    retry_after:
                                      type: number
                                      minimum: 1
                                      maximum: 3600
                                    issues:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          pointer:
                                            type: string
                                          message:
                                            type: string
                                          keyword:
                                            type: string
                                          schemaPath:
                                            type: string
                                          schema_id:
                                            type: string
                                          discriminator:
                                            type: array
                                            items:
                                              type: object
                                              properties:
                                                property_name:
                                                  type: string
                                                value:
                                                  nullable: true
                                                  anyOf:
                                                    - type: string
                                                    - type: number
                                                    - type: boolean
                                              required:
                                                - property_name
                                                - value
                                              additionalProperties: {}
                                        required:
                                          - pointer
                                          - message
                                          - keyword
                                        additionalProperties: {}
                                    details:
                                      type: object
                                      properties: {}
                                      additionalProperties: {}
                                    recovery:
                                      anyOf:
                                        - type: string
                                          enum:
                                            - transient
                                        - type: string
                                          enum:
                                            - correctable
                                        - type: string
                                          enum:
                                            - terminal
                                    source:
                                      anyOf:
                                        - type: string
                                          enum:
                                            - producer
                                        - type: string
                                          enum:
                                            - sdk
                                    sdk_id:
                                      type: string
                                  required:
                                    - code
                                    - message
                                  additionalProperties: {}
                            required:
                              - destination_id
                              - destination_ref
                              - state
                              - configuration
                            additionalProperties: {}
                        declarations:
                          type: object
                          properties:
                            declared:
                              type: object
                              properties:
                                async_adcp_versions:
                                  maxItems: 8
                                  type: array
                                  items:
                                    type: string
                                webhook_signing_algorithms:
                                  type: array
                                  items:
                                    anyOf:
                                      - type: string
                                        enum:
                                          - ed25519
                                      - type: string
                                        enum:
                                          - ecdsa-p256-sha256
                                experimental_features:
                                  maxItems: 32
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                    maxLength: 128
                                    pattern: ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
                              additionalProperties: {}
                            accepted:
                              type: object
                              properties:
                                async_adcp_versions:
                                  maxItems: 8
                                  type: array
                                  items:
                                    type: string
                                webhook_signing_algorithms:
                                  type: array
                                  items:
                                    anyOf:
                                      - type: string
                                        enum:
                                          - ed25519
                                      - type: string
                                        enum:
                                          - ecdsa-p256-sha256
                                experimental_features:
                                  maxItems: 32
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                    maxLength: 128
                                    pattern: ^[a-z][a-z0-9_]*(\.[a-z][a-z0-9_]*)*$
                              additionalProperties: {}
                            selected_async_adcp_version:
                              type: string
                              pattern: ^\d+\.\d+$
                            exclusions:
                              maxItems: 64
                              type: array
                              items:
                                type: object
                                properties:
                                  axis:
                                    anyOf:
                                      - type: string
                                        enum:
                                          - async_adcp_versions
                                      - type: string
                                        enum:
                                          - webhook_signing_algorithms
                                      - type: string
                                        enum:
                                          - experimental_features
                                  value:
                                    type: string
                                    minLength: 1
                                    maxLength: 128
                                  reason:
                                    type: string
                                    minLength: 1
                                    maxLength: 512
                                required:
                                  - axis
                                  - value
                                  - reason
                                additionalProperties: {}
                          required:
                            - declared
                            - accepted
                          additionalProperties: {}
                        retired_destinations:
                          maxItems: 64
                          type: array
                          items:
                            type: object
                            properties:
                              destination_id:
                                type: string
                                minLength: 1
                                maxLength: 64
                                pattern: ^[A-Za-z0-9_.:-]{1,64}$
                              destination_refs:
                                maxItems: 32
                                type: array
                                items:
                                  type: string
                              revoked_at:
                                type: string
                            required:
                              - destination_id
                              - destination_refs
                            additionalProperties: {}
                      additionalProperties: {}
                      description: >-
                        Official @adcp/sdk PrincipalState. The response
                        preserves the SDK-owned configuration shape.
                  required:
                    - kind
                    - principal_id
                    - principal_kind
                    - configuration_version
                    - configuration
                  additionalProperties: {}
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - recognized
                    principal_id:
                      type: string
                      minLength: 1
                      maxLength: 255
                    principal_kind:
                      anyOf:
                        - type: string
                          enum:
                            - buyer_agent
                        - type: string
                          enum:
                            - operator
                  required:
                    - kind
                    - principal_id
                    - principal_kind
                  additionalProperties: {}
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - unconfigured
                  required:
                    - kind
                  additionalProperties: {}
                - type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - failed
                    errors:
                      maxItems: 16
                      type: array
                      items:
                        type: object
                        properties:
                          code:
                            type: string
                            minLength: 1
                            maxLength: 64
                          message:
                            type: string
                          buyer_reason:
                            type: object
                            properties:
                              code:
                                type: string
                                minLength: 1
                                maxLength: 64
                              message:
                                type: string
                            required:
                              - code
                              - message
                            additionalProperties: {}
                          field:
                            type: string
                          suggestion:
                            type: string
                          retry_after:
                            type: number
                            minimum: 1
                            maximum: 3600
                          issues:
                            type: array
                            items:
                              type: object
                              properties:
                                pointer:
                                  type: string
                                message:
                                  type: string
                                keyword:
                                  type: string
                                schemaPath:
                                  type: string
                                schema_id:
                                  type: string
                                discriminator:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      property_name:
                                        type: string
                                      value:
                                        nullable: true
                                        anyOf:
                                          - type: string
                                          - type: number
                                          - type: boolean
                                    required:
                                      - property_name
                                      - value
                                    additionalProperties: {}
                              required:
                                - pointer
                                - message
                                - keyword
                              additionalProperties: {}
                          details:
                            type: object
                            properties: {}
                            additionalProperties: {}
                          recovery:
                            anyOf:
                              - type: string
                                enum:
                                  - transient
                              - type: string
                                enum:
                                  - correctable
                              - type: string
                                enum:
                                  - terminal
                          source:
                            anyOf:
                              - type: string
                                enum:
                                  - producer
                              - type: string
                                enum:
                                  - sdk
                          sdk_id:
                            type: string
                        required:
                          - code
                          - message
                        additionalProperties: {}
                  required:
                    - kind
                    - errors
                  additionalProperties: {}
            proof:
              type: object
              properties:
                notificationEndpoints:
                  type: array
                  items:
                    type: object
                    properties:
                      subscriberId:
                        type: string
                        minLength: 1
                        maxLength: 128
                      desiredActive:
                        type: boolean
                      proofState:
                        type: string
                        enum:
                          - pending
                          - verified
                          - failed
                          - stale
                      verifiedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      failureCode:
                        nullable: true
                        type: string
                      deactivatedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    required:
                      - subscriberId
                      - desiredActive
                      - proofState
                      - verifiedAt
                      - failureCode
                      - deactivatedAt
                    additionalProperties: false
                reportingDestinations:
                  type: array
                  items:
                    type: object
                    properties:
                      destinationId:
                        type: string
                        minLength: 1
                        maxLength: 64
                      destinationRef:
                        type: string
                        minLength: 1
                      generation:
                        type: integer
                        minimum: 0
                        exclusiveMinimum: true
                        maximum: 9007199254740991
                      pattern:
                        type: string
                        enum:
                          - file_transfer
                          - warehouse_materialization
                          - dataset_share
                      desiredActive:
                        type: boolean
                      setupState:
                        type: string
                        enum:
                          - validating
                          - ready
                          - action_required
                          - inactive
                          - rejected
                      proofState:
                        nullable: true
                        type: string
                        enum:
                          - not_attempted
                          - required
                          - pending
                          - completed
                          - verified
                          - failed
                          - stale
                      lifecycle:
                        type: string
                        enum:
                          - current
                          - superseded
                          - revoked
                      revokedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    required:
                      - destinationId
                      - destinationRef
                      - generation
                      - pattern
                      - desiredActive
                      - setupState
                      - proofState
                      - lifecycle
                      - revokedAt
                    additionalProperties: false
                reportingDestinationsTruncated:
                  type: boolean
                  description: >-
                    True when older reporting-destination generations exist
                    beyond the bounded administration projection.
              required:
                - notificationEndpoints
                - reportingDestinations
                - reportingDestinationsTruncated
              additionalProperties: false
            stateFeed:
              type: array
              items:
                type: object
                properties:
                  transitionId:
                    type: string
                    pattern: ^[1-9][0-9]*$
                  event:
                    type: string
                    enum:
                      - principal.changed
                  scope:
                    type: string
                    enum:
                      - principal
                      - storefront
                  reason:
                    type: string
                    enum:
                      - principal_suspended
                      - principal_retired
                      - principal_reactivated
                      - destination_setup_state_changed
                      - destination_revoked
                      - subscriber_proof_completed
                      - subscriber_proof_failed
                  repairTask:
                    type: string
                    enum:
                      - get_principal
                  occurredAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                required:
                  - transitionId
                  - event
                  - scope
                  - reason
                  - repairTask
                  - occurredAt
                additionalProperties: false
            stateFeedTruncated:
              type: boolean
              description: True when older principal.changed transitions exist.
            auditFeed:
              type: array
              items:
                type: object
                properties:
                  auditId:
                    type: string
                    pattern: ^[1-9][0-9]*$
                  control:
                    type: string
                    enum:
                      - deactivate_destination
                      - deactivate_subscriber
                      - replace_subscriber
                      - pause_subscriber
                      - reactivate_subscriber
                      - remove_subscriber
                      - test_subscriber
                      - suspend
                      - retire
                  targetId:
                    nullable: true
                    type: string
                  actor:
                    type: object
                    properties:
                      userId:
                        type: string
                        pattern: ^[1-9][0-9]*$
                      email:
                        nullable: true
                        type: string
                        format: email
                        pattern: >-
                          ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
                      name:
                        nullable: true
                        type: string
                    required:
                      - userId
                      - email
                      - name
                    additionalProperties: false
                  occurredAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                required:
                  - auditId
                  - control
                  - targetId
                  - actor
                  - occurredAt
                additionalProperties: false
            auditFeedTruncated:
              type: boolean
              description: True when older exact-human administration records exist.
            readiness:
              type: object
              properties:
                ready:
                  type: boolean
                gates:
                  minItems: 5
                  maxItems: 5
                  type: array
                  items:
                    type: object
                    properties:
                      gate:
                        type: string
                        enum:
                          - registration
                          - active_credential
                          - configuration_and_proof
                          - exact_capability
                          - business_authority
                      status:
                        type: string
                        enum:
                          - ready
                          - blocked
                      reason:
                        type: string
                        minLength: 1
                    required:
                      - gate
                      - status
                      - reason
                    additionalProperties: false
              required:
                - ready
                - gates
              additionalProperties: false
            authority:
              type: object
              properties:
                advertiserAccountIds:
                  type: array
                  items:
                    not: {}
                permissions:
                  type: array
                  items:
                    not: {}
              required:
                - advertiserAccountIds
                - permissions
              additionalProperties: false
              deprecated: true
              description: >-
                Deprecated compatibility field; always structurally empty and
                scheduled for removal no earlier than 2027-09-07 at the next
                major API surface. Use access instead.
            notifications:
              type: object
              properties:
                catalog:
                  type: array
                  items:
                    type: object
                    properties:
                      eventType:
                        anyOf:
                          - type: string
                            enum:
                              - scheduled
                          - type: string
                            enum:
                              - final
                          - type: string
                            enum:
                              - delayed
                          - type: string
                            enum:
                              - adjusted
                          - type: string
                            enum:
                              - window_update
                          - type: string
                            enum:
                              - impairment
                          - type: string
                            enum:
                              - creative.status_changed
                          - type: string
                            enum:
                              - creative.assignment_changed
                          - type: string
                            enum:
                              - indicators.changed
                          - type: string
                            enum:
                              - creative.purged
                          - type: string
                            enum:
                              - account.status_changed
                          - type: string
                            enum:
                              - account.change_recorded
                          - type: string
                            enum:
                              - product.created
                          - type: string
                            enum:
                              - product.updated
                          - type: string
                            enum:
                              - product.priced
                          - type: string
                            enum:
                              - product.removed
                          - type: string
                            enum:
                              - signal.created
                          - type: string
                            enum:
                              - signal.updated
                          - type: string
                            enum:
                              - signal.priced
                          - type: string
                            enum:
                              - signal.removed
                          - type: string
                            enum:
                              - wholesale_feed.bulk_change
                          - type: string
                            enum:
                              - capabilities.changed
                          - type: string
                            enum:
                              - reporting.delivery_ready
                          - type: string
                            enum:
                              - reporting.status_changed
                          - type: string
                            enum:
                              - reporting.ledger_changed
                          - type: string
                            enum:
                              - principal.changed
                      anchor:
                        type: string
                        enum:
                          - caller
                          - account
                      availability:
                        type: string
                        enum:
                          - available
                          - blocked
                      provenance:
                        type: string
                        enum:
                          - '@adcp/sdk@14.0.0-rc.33'
                      repairTask:
                        nullable: true
                        type: string
                        enum:
                          - get_principal
                      blockedReason:
                        nullable: true
                        type: string
                        enum:
                          - event_producer_not_registered
                          - advertiser_authority_evaluator_unavailable
                    required:
                      - eventType
                      - anchor
                      - availability
                      - provenance
                      - repairTask
                      - blockedReason
                    additionalProperties: false
                subscriptions:
                  type: array
                  items:
                    type: object
                    properties:
                      subscriberId:
                        type: string
                        minLength: 1
                        maxLength: 64
                      endpointUrl:
                        type: string
                        format: uri
                      eventTypes:
                        minItems: 1
                        maxItems: 64
                        type: array
                        items:
                          anyOf:
                            - type: string
                              enum:
                                - scheduled
                            - type: string
                              enum:
                                - final
                            - type: string
                              enum:
                                - delayed
                            - type: string
                              enum:
                                - adjusted
                            - type: string
                              enum:
                                - window_update
                            - type: string
                              enum:
                                - impairment
                            - type: string
                              enum:
                                - creative.status_changed
                            - type: string
                              enum:
                                - creative.assignment_changed
                            - type: string
                              enum:
                                - indicators.changed
                            - type: string
                              enum:
                                - creative.purged
                            - type: string
                              enum:
                                - account.status_changed
                            - type: string
                              enum:
                                - account.change_recorded
                            - type: string
                              enum:
                                - product.created
                            - type: string
                              enum:
                                - product.updated
                            - type: string
                              enum:
                                - product.priced
                            - type: string
                              enum:
                                - product.removed
                            - type: string
                              enum:
                                - signal.created
                            - type: string
                              enum:
                                - signal.updated
                            - type: string
                              enum:
                                - signal.priced
                            - type: string
                              enum:
                                - signal.removed
                            - type: string
                              enum:
                                - wholesale_feed.bulk_change
                            - type: string
                              enum:
                                - capabilities.changed
                            - type: string
                              enum:
                                - reporting.delivery_ready
                            - type: string
                              enum:
                                - reporting.status_changed
                            - type: string
                              enum:
                                - reporting.ledger_changed
                            - type: string
                              enum:
                                - principal.changed
                      desiredActive:
                        type: boolean
                      allAuthorizedAccounts:
                        type: boolean
                      includeFutureEventTypes:
                        type: boolean
                      proofState:
                        type: string
                        enum:
                          - pending
                          - verified
                          - failed
                          - stale
                      verifiedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                      failureCode:
                        nullable: true
                        type: string
                      deactivatedAt:
                        nullable: true
                        type: string
                        format: date-time
                        pattern: >-
                          ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    required:
                      - subscriberId
                      - endpointUrl
                      - eventTypes
                      - desiredActive
                      - allAuthorizedAccounts
                      - includeFutureEventTypes
                      - proofState
                      - verifiedAt
                      - failureCode
                      - deactivatedAt
                    additionalProperties: false
                deliveryHealth:
                  type: object
                  properties:
                    activeSubscriptions:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    provenActiveSubscriptions:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    pendingOrFailedActiveSubscriptions:
                      type: integer
                      minimum: 0
                      maximum: 9007199254740991
                    lastProofAt:
                      nullable: true
                      type: string
                      format: date-time
                      pattern: >-
                        ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                    receipts:
                      minItems: 0
                      maxItems: 0
                      type: array
                      items:
                        not: {}
                    receiptsReason:
                      type: string
                      enum:
                        - no_delivery_receipts_available
                  required:
                    - activeSubscriptions
                    - provenActiveSubscriptions
                    - pendingOrFailedActiveSubscriptions
                    - lastProofAt
                    - receipts
                    - receiptsReason
                  additionalProperties: false
              required:
                - catalog
                - subscriptions
                - deliveryHealth
              additionalProperties: false
            access:
              type: object
              properties:
                accessRevision:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                advertisers:
                  type: array
                  items:
                    type: object
                    properties:
                      advertiserId:
                        type: string
                        pattern: ^[1-9][0-9]{0,18}$
                      name:
                        type: string
                        minLength: 1
                      role:
                        type: string
                        enum:
                          - READ
                          - READ_WRITE
                    required:
                      - advertiserId
                      - name
                      - role
                    additionalProperties: false
              required:
                - accessRevision
                - advertisers
              additionalProperties: false
          required:
            - principal
            - readback
            - proof
            - stateFeed
            - stateFeedTruncated
            - auditFeed
            - auditFeedTruncated
            - readiness
            - authority
            - notifications
            - access
          additionalProperties: false
        error:
          type: string
          nullable: true
          enum:
            - null
      required:
        - data
        - error
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
      description: Standard error response
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Structured error object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````