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

# Get campaign workspace

> Get the assembled `CampaignWorkspace` projection for the campaign drill-in widget: phase, handling, budget, source, plus media-buy and creative sections. A presentation-ready view over `get_campaign`, not a substitute for it.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml get /campaigns/{campaignId}/workspace
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.apostra.com/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.apostra.com/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:
  /campaigns/{campaignId}/workspace:
    get:
      tags:
        - Campaigns
      summary: Get campaign workspace
      description: >-
        Get the assembled `CampaignWorkspace` projection for the campaign
        drill-in widget: phase, handling, budget, source, plus media-buy and
        creative sections. A presentation-ready view over `get_campaign`, not a
        substitute for it.
      operationId: getCampaignWorkspace
      parameters:
        - in: path
          name: campaignId
          schema:
            type: string
            minLength: 1
            description: Unique identifier for the campaign
            example: cmp_987654321
          required: true
          description: Unique identifier for the campaign
      responses:
        '200':
          description: Get campaign workspace
          content:
            application/json:
              schema:
                type: object
                properties:
                  campaignId:
                    type: string
                  advertiserId:
                    nullable: true
                    type: string
                  name:
                    type: string
                  catalogId:
                    type: string
                  catalogArchived:
                    type: boolean
                  revision:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  brief:
                    type: string
                  handling:
                    type: string
                    enum:
                      - tracking
                      - managing
                  phase:
                    type: string
                    enum:
                      - draft
                      - active
                      - ending
                      - completed
                      - canceled
                  mode:
                    type: string
                    enum:
                      - review
                      - record
                  isPaused:
                    type: boolean
                  isArchived:
                    type: boolean
                  autonomy:
                    type: object
                    properties:
                      inventorySelection:
                        type: object
                        properties:
                          mode:
                            type: string
                            enum:
                              - manual
                              - propose
                              - automatic
                          source:
                            type: string
                            enum:
                              - inherited
                              - overridden
                        required:
                          - mode
                          - source
                        additionalProperties: false
                      rebriefing:
                        type: object
                        properties:
                          mode:
                            type: string
                            enum:
                              - manual
                              - propose
                              - automatic
                          source:
                            type: string
                            enum:
                              - inherited
                              - overridden
                        required:
                          - mode
                          - source
                        additionalProperties: false
                    required:
                      - inventorySelection
                      - rebriefing
                    additionalProperties: false
                  flight:
                    type: object
                    properties:
                      startAt:
                        type: string
                      endAt:
                        type: string
                    required:
                      - startAt
                      - endAt
                    additionalProperties: false
                  budget:
                    type: object
                    properties:
                      total:
                        type: number
                      currency:
                        type: string
                      dailyCap:
                        type: number
                      pacing:
                        type: string
                        enum:
                          - even
                          - asap
                          - frontloaded
                    required:
                      - total
                      - currency
                    additionalProperties: false
                  audienceConfig:
                    type: object
                    properties:
                      targetAudienceIds:
                        type: array
                        items:
                          type: string
                      suppressAudienceIds:
                        type: array
                        items:
                          type: string
                    required:
                      - targetAudienceIds
                      - suppressAudienceIds
                    additionalProperties: false
                  source:
                    type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - interchange
                          - connected_account
                          - adcp
                      sellerId:
                        type: string
                      freshness:
                        type: string
                        enum:
                          - live
                          - stale
                          - error
                      lastSyncedAt:
                        type: string
                    required:
                      - kind
                    additionalProperties: false
                  sellerIds:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  labels:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
                  readiness:
                    type: object
                    properties:
                      status:
                        type: string
                        enum:
                          - ready
                          - not_ready
                      reasons:
                        type: array
                        items:
                          type: string
                          enum:
                            - no_budget
                            - no_staged_buys
                            - flight_not_started
                            - flight_ended
                            - advertiser_missing
                            - catalog_sync_unavailable
                      attention:
                        type: array
                        items:
                          type: string
                          enum:
                            - blocked
                            - off_goal
                            - drifted
                            - stale
                      nextAction:
                        type: object
                        properties:
                          action:
                            type: string
                          label:
                            type: string
                          params:
                            type: object
                            additionalProperties: {}
                        required:
                          - action
                          - label
                        additionalProperties: false
                      blockers:
                        type: array
                        items:
                          type: object
                          properties:
                            code:
                              type: string
                            message:
                              type: string
                          required:
                            - code
                            - message
                          additionalProperties: false
                    required:
                      - attention
                      - blockers
                    additionalProperties: false
                  spend:
                    oneOf:
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - available
                          value:
                            type: object
                            properties:
                              total:
                                type: number
                              currency:
                                type: string
                            required:
                              - total
                              - currency
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                        required:
                          - state
                          - value
                          - source
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - pending
                          reason:
                            type: string
                          retryAfterMs:
                            type: number
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - unavailable
                          reason:
                            type: string
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - stale
                          value:
                            type: object
                            properties:
                              total:
                                type: number
                              currency:
                                type: string
                            required:
                              - total
                              - currency
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                          reason:
                            type: string
                        required:
                          - state
                          - value
                          - asOf
                          - source
                          - reason
                        additionalProperties: false
                    type: object
                  pacing:
                    oneOf:
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - available
                          value:
                            type: object
                            properties:
                              percent:
                                type: number
                              verdict:
                                type: string
                                enum:
                                  - behind
                                  - on_track
                                  - ahead
                            required:
                              - percent
                              - verdict
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                        required:
                          - state
                          - value
                          - source
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - pending
                          reason:
                            type: string
                          retryAfterMs:
                            type: number
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - unavailable
                          reason:
                            type: string
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - stale
                          value:
                            type: object
                            properties:
                              percent:
                                type: number
                              verdict:
                                type: string
                                enum:
                                  - behind
                                  - on_track
                                  - ahead
                            required:
                              - percent
                              - verdict
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                          reason:
                            type: string
                        required:
                          - state
                          - value
                          - asOf
                          - source
                          - reason
                        additionalProperties: false
                    type: object
                  outcome:
                    oneOf:
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - available
                          value:
                            type: object
                            properties:
                              label:
                                type: string
                              actual:
                                type: number
                              target:
                                type: number
                              unit:
                                type: string
                              verdict:
                                type: string
                                enum:
                                  - working
                                  - off_goal
                                  - neutral
                            required:
                              - label
                              - actual
                              - unit
                              - verdict
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                        required:
                          - state
                          - value
                          - source
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - pending
                          reason:
                            type: string
                          retryAfterMs:
                            type: number
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - unavailable
                          reason:
                            type: string
                        required:
                          - state
                          - reason
                        additionalProperties: false
                      - type: object
                        properties:
                          state:
                            type: string
                            enum:
                              - stale
                          value:
                            type: object
                            properties:
                              label:
                                type: string
                              actual:
                                type: number
                              target:
                                type: number
                              unit:
                                type: string
                              verdict:
                                type: string
                                enum:
                                  - working
                                  - off_goal
                                  - neutral
                            required:
                              - label
                              - actual
                              - unit
                              - verdict
                            additionalProperties: false
                          asOf:
                            type: string
                          source:
                            type: string
                          reason:
                            type: string
                        required:
                          - state
                          - value
                          - asOf
                          - source
                          - reason
                        additionalProperties: false
                    type: object
                  mediaBuys:
                    type: array
                    items:
                      type: object
                      properties:
                        mediaBuyId:
                          type: string
                        sellerId:
                          type: string
                        sellerName:
                          type: string
                        name:
                          type: string
                        channelGroup:
                          type: object
                          properties:
                            channelGroupId:
                              type: string
                            name:
                              type: string
                          required:
                            - channelGroupId
                            - name
                          additionalProperties: false
                        phase:
                          type: string
                          enum:
                            - draft
                            - pendingApproval
                            - inputRequired
                            - active
                            - ending
                            - completed
                            - canceled
                            - failed
                            - rejected
                        isPaused:
                          type: boolean
                        budget:
                          type: object
                          properties:
                            total:
                              type: number
                            currency:
                              type: string
                          required:
                            - total
                            - currency
                          additionalProperties: false
                        flight:
                          type: object
                          properties:
                            startAt:
                              type: string
                            endAt:
                              type: string
                          required:
                            - startAt
                            - endAt
                          additionalProperties: false
                        spend:
                          oneOf:
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - available
                                value:
                                  type: object
                                  properties:
                                    total:
                                      type: number
                                    currency:
                                      type: string
                                  required:
                                    - total
                                    - currency
                                  additionalProperties: false
                                asOf:
                                  type: string
                                source:
                                  type: string
                              required:
                                - state
                                - value
                                - source
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - pending
                                reason:
                                  type: string
                                retryAfterMs:
                                  type: number
                              required:
                                - state
                                - reason
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - unavailable
                                reason:
                                  type: string
                              required:
                                - state
                                - reason
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - stale
                                value:
                                  type: object
                                  properties:
                                    total:
                                      type: number
                                    currency:
                                      type: string
                                  required:
                                    - total
                                    - currency
                                  additionalProperties: false
                                asOf:
                                  type: string
                                source:
                                  type: string
                                reason:
                                  type: string
                              required:
                                - state
                                - value
                                - asOf
                                - source
                                - reason
                              additionalProperties: false
                          type: object
                        delivery:
                          oneOf:
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - available
                                value:
                                  type: object
                                  properties:
                                    percent:
                                      type: number
                                  required:
                                    - percent
                                  additionalProperties: false
                                asOf:
                                  type: string
                                source:
                                  type: string
                              required:
                                - state
                                - value
                                - source
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - pending
                                reason:
                                  type: string
                                retryAfterMs:
                                  type: number
                              required:
                                - state
                                - reason
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - unavailable
                                reason:
                                  type: string
                              required:
                                - state
                                - reason
                              additionalProperties: false
                            - type: object
                              properties:
                                state:
                                  type: string
                                  enum:
                                    - stale
                                value:
                                  type: object
                                  properties:
                                    percent:
                                      type: number
                                  required:
                                    - percent
                                  additionalProperties: false
                                asOf:
                                  type: string
                                source:
                                  type: string
                                reason:
                                  type: string
                              required:
                                - state
                                - value
                                - asOf
                                - source
                                - reason
                              additionalProperties: false
                          type: object
                        proposalSource:
                          type: object
                          properties:
                            proposalId:
                              type: string
                            version:
                              type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            state:
                              type: string
                              enum:
                                - quoted
                                - bound
                                - expired
                                - withdrawn
                          required:
                            - proposalId
                            - version
                          additionalProperties: false
                        source:
                          type: object
                          properties:
                            freshness:
                              type: string
                              enum:
                                - live
                                - stale
                                - error
                            lastSyncedAt:
                              type: string
                          additionalProperties: false
                        attentionNote:
                          type: string
                        reconciliation:
                          type: object
                          properties:
                            required:
                              type: boolean
                              enum:
                                - true
                            since:
                              type: string
                            reason:
                              type: string
                          required:
                            - required
                            - since
                            - reason
                          additionalProperties: false
                      required:
                        - mediaBuyId
                        - sellerId
                        - name
                        - phase
                        - isPaused
                        - budget
                        - spend
                      additionalProperties: false
                  creatives:
                    type: array
                    items:
                      type: object
                      properties:
                        creativeId:
                          type: string
                        name:
                          type: string
                        formatLabel:
                          type: string
                        dimensions:
                          type: string
                        previewUrl:
                          type: string
                        readiness:
                          type: string
                          enum:
                            - ready
                            - missing
                            - in_review
                            - rejected
                        sellerReviews:
                          type: array
                          items:
                            type: object
                            properties:
                              sellerName:
                                type: string
                              status:
                                type: string
                                enum:
                                  - ready
                                  - missing
                                  - in_review
                                  - rejected
                              issue:
                                type: string
                            required:
                              - sellerName
                              - status
                            additionalProperties: false
                        placements:
                          type: array
                          items:
                            type: object
                            properties:
                              placementId:
                                type: string
                              placementName:
                                type: string
                            required:
                              - placementId
                              - placementName
                            additionalProperties: false
                      required:
                        - creativeId
                        - name
                      additionalProperties: false
                  recentActivity:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        at:
                          type: string
                        actor:
                          type: string
                          enum:
                            - person
                            - agent
                            - automation
                            - system
                        summary:
                          type: string
                        outcome:
                          type: string
                          enum:
                            - success
                            - denied
                            - failed
                      required:
                        - id
                        - at
                        - actor
                        - summary
                      additionalProperties: false
                  targeting:
                    type: object
                    properties:
                      geo:
                        description: >-
                          Geographic targeting requirements (countries and
                          regions).
                        type: array
                        items:
                          type: object
                          properties:
                            requirementId:
                              type: string
                              minLength: 1
                              description: >-
                                Stable identifier for this requirement; unique
                                across all targeting dimensions.
                            strength:
                              type: string
                              enum:
                                - required
                                - preferred
                              description: >-
                                "required" means must satisfy; "preferred" means
                                optimize toward.
                            include:
                              description: >-
                                ISO 3166-1 alpha-2 country codes or CLDR region
                                subdivisions to include.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                pattern: ^[A-Z]{2}(-[A-Z0-9]{1,8})?$
                            exclude:
                              description: >-
                                ISO 3166-1 alpha-2 country codes or CLDR region
                                subdivisions to exclude.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                pattern: ^[A-Z]{2}(-[A-Z0-9]{1,8})?$
                          required:
                            - requirementId
                            - strength
                          additionalProperties: false
                      language:
                        description: Language targeting requirements (BCP 47 tags).
                        type: array
                        items:
                          type: object
                          properties:
                            requirementId:
                              type: string
                              minLength: 1
                              description: >-
                                Stable identifier for this requirement; unique
                                across all targeting dimensions.
                            strength:
                              type: string
                              enum:
                                - required
                                - preferred
                              description: >-
                                "required" means must satisfy; "preferred" means
                                optimize toward.
                            include:
                              description: >-
                                BCP 47 language tags to include (e.g. "en",
                                "en-US").
                              minItems: 1
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$
                            exclude:
                              description: BCP 47 language tags to exclude.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                pattern: ^[a-z]{2,3}(-[A-Za-z0-9]{2,8})*$
                          required:
                            - requirementId
                            - strength
                          additionalProperties: false
                      device:
                        description: Device-type targeting requirements.
                        type: array
                        items:
                          type: object
                          properties:
                            requirementId:
                              type: string
                              minLength: 1
                              description: >-
                                Stable identifier for this requirement; unique
                                across all targeting dimensions.
                            strength:
                              type: string
                              enum:
                                - required
                                - preferred
                              description: >-
                                "required" means must satisfy; "preferred" means
                                optimize toward.
                            include:
                              description: >-
                                AdCP device types to include: desktop, mobile,
                                tablet, ctv, dooh, unknown.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - desktop
                                  - mobile
                                  - tablet
                                  - ctv
                                  - dooh
                                  - unknown
                            exclude:
                              description: AdCP device types to exclude.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - desktop
                                  - mobile
                                  - tablet
                                  - ctv
                                  - dooh
                                  - unknown
                          required:
                            - requirementId
                            - strength
                          additionalProperties: false
                      dayparts:
                        description: >-
                          Daypart targeting requirements (time windows per
                          timezone).
                        type: array
                        items:
                          type: object
                          properties:
                            requirementId:
                              type: string
                              minLength: 1
                              description: >-
                                Stable identifier for this requirement; unique
                                across all targeting dimensions.
                            strength:
                              type: string
                              enum:
                                - required
                                - preferred
                              description: >-
                                "required" means must satisfy; "preferred" means
                                optimize toward.
                            timezone:
                              type: string
                              minLength: 1
                              description: >-
                                IANA tzdata identifier (e.g.
                                "America/New_York").
                            windows:
                              minItems: 1
                              type: array
                              items:
                                type: object
                                properties:
                                  days:
                                    minItems: 1
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - mon
                                        - tue
                                        - wed
                                        - thu
                                        - fri
                                        - sat
                                        - sun
                                    description: Days of the week this window applies to.
                                  startHour:
                                    type: integer
                                    minimum: 0
                                    maximum: 23
                                    description: >-
                                      Window start in 24-hour local time,
                                      inclusive (0-23).
                                  endHour:
                                    type: integer
                                    minimum: 1
                                    maximum: 24
                                    description: >-
                                      Window end in 24-hour local time,
                                      exclusive (1-24); 24 means end-of-day.
                                required:
                                  - days
                                  - startHour
                                  - endHour
                                additionalProperties: false
                              description: >-
                                One or more time windows; delivery is in-scope
                                if it falls inside any window.
                          required:
                            - requirementId
                            - strength
                            - timezone
                            - windows
                          additionalProperties: false
                      demographics:
                        description: Demographic targeting requirements.
                        type: object
                        properties:
                          age:
                            description: Age targeting requirements.
                            type: array
                            items:
                              type: object
                              properties:
                                requirementId:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Stable identifier for this requirement;
                                    unique across all targeting dimensions.
                                strength:
                                  type: string
                                  enum:
                                    - required
                                    - preferred
                                  description: >-
                                    "required" means must satisfy; "preferred"
                                    means optimize toward.
                                minAge:
                                  description: Inclusive lower age bound (integer years).
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                maxAge:
                                  description: Inclusive upper age bound (integer years).
                                  type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                includeUnknownAge:
                                  default: false
                                  description: >-
                                    Include users whose age cannot be
                                    determined. Defaults to false.
                                  type: boolean
                                allowModeledAge:
                                  default: false
                                  description: >-
                                    Accept statistically modeled age when
                                    verified signal is unavailable. Defaults to
                                    false.
                                  type: boolean
                              required:
                                - requirementId
                                - strength
                                - includeUnknownAge
                                - allowModeledAge
                              additionalProperties: false
                        additionalProperties: false
                    additionalProperties: false
                  channelGroups:
                    minItems: 1
                    maxItems: 25
                    type: array
                    items:
                      type: object
                      properties:
                        channelGroupId:
                          type: string
                          minLength: 1
                          maxLength: 128
                        name:
                          type: string
                          minLength: 1
                          maxLength: 120
                        source:
                          oneOf:
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  enum:
                                    - preset
                                presetId:
                                  type: string
                                  enum:
                                    - display
                                    - olv
                                    - mobile_web_display
                                    - mobile_web_olv
                                    - ctv
                                  description: >-
                                    Versioned channel group preset to expand
                                    into AdCP inventory dimensions.
                                presetVersion:
                                  type: integer
                                  minimum: 0
                                  exclusiveMinimum: true
                                  maximum: 9007199254740991
                              required:
                                - kind
                                - presetId
                                - presetVersion
                              additionalProperties: false
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  enum:
                                    - custom
                              required:
                                - kind
                              additionalProperties: false
                          type: object
                        inventory:
                          type: object
                          properties:
                            channels:
                              description: >-
                                Buyer-declared AdCP media channels. Values are
                                OR.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - display
                                  - olv
                                  - social
                                  - search
                                  - ctv
                                  - linear_tv
                                  - radio
                                  - streaming_audio
                                  - podcast
                                  - dooh
                                  - ooh
                                  - print
                                  - cinema
                                  - email
                                  - gaming
                                  - retail_media
                                  - influencer
                                  - affiliate
                                  - product_placement
                                  - sponsored_intelligence
                            propertyTypes:
                              description: >-
                                Buyer-declared AdCP property types. Values are
                                OR.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - website
                                  - mobile_app
                                  - ctv_app
                                  - desktop_app
                                  - dooh
                                  - podcast
                                  - radio
                                  - linear_tv
                                  - streaming_audio
                                  - ai_assistant
                            deviceTypes:
                              description: Buyer-declared AdCP device types. Values are OR.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - desktop
                                  - mobile
                                  - tablet
                                  - ctv
                                  - dooh
                                  - unknown
                            formatKinds:
                              description: >-
                                Buyer-declared AdCP canonical creative format
                                kinds. Values are OR.
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - image
                                  - html5
                                  - display_tag
                                  - image_carousel
                                  - video_hosted
                                  - video_vast
                                  - audio_hosted
                                  - audio_vast
                                  - audio_daast
                                  - sponsored_placement
                                  - native_in_feed
                                  - responsive_creative
                                  - agent_placement
                                  - seller_rendered_stateful_display
                                  - coordinated_placements
                                  - custom
                          additionalProperties: false
                      required:
                        - channelGroupId
                        - name
                        - source
                        - inventory
                      additionalProperties: false
                  frequencyCap:
                    type: object
                    properties:
                      level:
                        type: string
                        enum:
                          - mediaBuy
                        description: Counter scope. Only mediaBuy is available.
                      config:
                        type: object
                        properties:
                          maxImpressions:
                            type: integer
                            minimum: 0
                            exclusiveMinimum: true
                            maximum: 9007199254740991
                            description: Maximum impressions allowed in the window.
                          per:
                            type: string
                            enum:
                              - individuals
                              - households
                              - devices
                              - accounts
                              - cookies
                              - custom
                            description: Reach unit counted by the seller.
                          window:
                            type: object
                            properties:
                              interval:
                                type: integer
                                minimum: 0
                                exclusiveMinimum: true
                                maximum: 9007199254740991
                                description: Positive whole-number window length.
                              unit:
                                type: string
                                enum:
                                  - seconds
                                  - minutes
                                  - hours
                                  - days
                                  - campaign
                                description: Window unit.
                            required:
                              - interval
                              - unit
                            additionalProperties: false
                            description: Counting window for the cap.
                        required:
                          - maxImpressions
                          - per
                          - window
                        additionalProperties: false
                        description: Seller-enforced AdCP 3.2 cap configuration.
                    required:
                      - level
                      - config
                    additionalProperties: false
                  targetingOverlay:
                    type: object
                    properties:
                      geo_countries:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          pattern: ^[A-Z]{2}$
                        description: >-
                          Restrict delivery to specific countries. ISO 3166-1
                          alpha-2 codes (e.g., 'US', 'GB', 'DE').
                      geo_countries_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          pattern: ^[A-Z]{2}$
                        description: >-
                          Exclude specific countries from delivery. ISO 3166-1
                          alpha-2 codes (e.g., 'US', 'GB', 'DE').
                      geo_regions:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$
                        description: >-
                          Restrict delivery to exact canonical ISO 3166-2
                          subdivisions (states, provinces, regions, departments,
                          or other subdivision categories). Unknown identifiers
                          are invalid. At create or update, sellers MUST reject
                          unsupported identifiers and MUST NOT silently widen,
                          drop, or partially apply the list. During
                          get_products, a seller may instead return a sparse,
                          buyer-reviewable targeting_resolution modification for
                          a valid but unsupported requested outcome. Exact
                          internal translation preserves accepted identifiers in
                          package readback.
                      geo_regions_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$
                        description: >-
                          Exclude exact canonical ISO 3166-2 subdivisions.
                          Support is independent from geo_regions inclusion
                          support. Unknown identifiers and values also present
                          in geo_regions are invalid. At create or update,
                          sellers MUST reject unsupported identifiers and
                          partial application; during get_products, a seller may
                          instead return a sparse, buyer-reviewable
                          targeting_resolution modification for a valid but
                          unsupported requested outcome.
                      geo_metros:
                        minItems: 1
                        type: array
                        items:
                          type: object
                          properties:
                            system:
                              type: string
                              enum:
                                - nielsen_dma
                                - uk_itl1
                                - uk_itl2
                                - eurostat_nuts2
                                - custom
                              description: >-
                                Metro area classification system (e.g.,
                                'nielsen_dma', 'uk_itl2')
                            values:
                              minItems: 1
                              type: array
                              items:
                                type: string
                              description: >-
                                Metro codes within the system (e.g., ['501',
                                '602'] for Nielsen DMAs)
                          required:
                            - system
                            - values
                          additionalProperties: false
                          description: A targeted metro area.
                        description: >-
                          Restrict delivery to specific metro areas. Each entry
                          specifies the classification system and target values.
                          Seller must declare supported systems in
                          get_adcp_capabilities.
                      geo_metros_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: object
                          properties:
                            system:
                              type: string
                              enum:
                                - nielsen_dma
                                - uk_itl1
                                - uk_itl2
                                - eurostat_nuts2
                                - custom
                              description: >-
                                Metro area classification system (e.g.,
                                'nielsen_dma', 'uk_itl2')
                            values:
                              minItems: 1
                              type: array
                              items:
                                type: string
                              description: >-
                                Metro codes to exclude within the system (e.g.,
                                ['501', '602'] for Nielsen DMAs)
                          required:
                            - system
                            - values
                          additionalProperties: false
                        description: >-
                          Exclude specific metro areas from delivery. Each entry
                          specifies the classification system and excluded
                          values. Seller must declare supported systems in
                          get_adcp_capabilities.
                      geo_postal_areas:
                        minItems: 1
                        type: array
                        items:
                          anyOf:
                            - allOf:
                                - type: object
                                  properties:
                                    country:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      description: >-
                                        ISO 3166-1 alpha-2 country code for the
                                        postal values.
                                    system:
                                      type: string
                                      enum:
                                        - postal_code
                                        - zip
                                        - zip_plus_four
                                        - outward
                                        - full
                                        - fsa
                                        - plz
                                        - code_postal
                                        - postcode
                                        - cep
                                        - pin
                                        - custom
                                        - us_zip
                                        - us_zip_plus_four
                                        - gb_outward
                                        - gb_full
                                        - ca_fsa
                                        - ca_full
                                        - de_plz
                                        - fr_code_postal
                                        - au_postcode
                                        - ch_plz
                                        - at_plz
                                      description: >-
                                        Country-local postal code system (e.g.,
                                        'zip', 'outward', 'plz', 'postal_code').
                                    values:
                                      minItems: 1
                                      type: array
                                      items:
                                        type: string
                                      description: >-
                                        Postal codes within the country and
                                        system.
                                  required:
                                    - country
                                    - system
                                    - values
                                  additionalProperties: false
                                - description: >-
                                    Valid country-local postal system pairing.
                                    Registered countries only accept their
                                    registered local systems; countries without
                                    a registered local system use postal_code or
                                    custom.
                                  anyOf:
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - US
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - zip
                                                - zip_plus_four
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - GB
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - outward
                                                - full
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - CA
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - fsa
                                                - full
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - DE
                                                - CH
                                                - AT
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - plz
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - FR
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - code_postal
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - AU
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postcode
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - BR
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - cep
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - IN
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - pin
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - ZA
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postal_code
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - {}
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postal_code
                                                - custom
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                            - type: object
                              properties:
                                system:
                                  type: string
                                  enum:
                                    - us_zip
                                    - us_zip_plus_four
                                    - gb_outward
                                    - gb_full
                                    - ca_fsa
                                    - ca_full
                                    - de_plz
                                    - fr_code_postal
                                    - au_postcode
                                    - ch_plz
                                    - at_plz
                                  description: >-
                                    Deprecated country-fused postal code system
                                    (e.g., 'us_zip', 'gb_outward'). Prefer
                                    country + postal-system.
                                values:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                  description: Postal codes within the legacy system.
                              required:
                                - system
                                - values
                              additionalProperties: false
                          description: >-
                            Postal area values. Prefer the native country +
                            postal system form. Deprecated legacy country-fused
                            postal-system tokens remain accepted for
                            compatibility.
                        description: >-
                          Restrict delivery to specific postal areas. Prefer the
                          native country + postal system form. The deprecated
                          legacy country-fused postal-system tokens remain
                          accepted for compatibility. Seller must declare
                          supported systems in get_adcp_capabilities.
                      geo_postal_areas_exclude:
                        minItems: 1
                        type: array
                        items:
                          anyOf:
                            - allOf:
                                - type: object
                                  properties:
                                    country:
                                      type: string
                                      pattern: ^[A-Z]{2}$
                                      description: >-
                                        ISO 3166-1 alpha-2 country code for the
                                        postal values.
                                    system:
                                      type: string
                                      enum:
                                        - postal_code
                                        - zip
                                        - zip_plus_four
                                        - outward
                                        - full
                                        - fsa
                                        - plz
                                        - code_postal
                                        - postcode
                                        - cep
                                        - pin
                                        - custom
                                        - us_zip
                                        - us_zip_plus_four
                                        - gb_outward
                                        - gb_full
                                        - ca_fsa
                                        - ca_full
                                        - de_plz
                                        - fr_code_postal
                                        - au_postcode
                                        - ch_plz
                                        - at_plz
                                      description: >-
                                        Country-local postal code system (e.g.,
                                        'zip', 'outward', 'plz', 'postal_code').
                                    values:
                                      minItems: 1
                                      type: array
                                      items:
                                        type: string
                                      description: >-
                                        Postal codes within the country and
                                        system.
                                  required:
                                    - country
                                    - system
                                    - values
                                  additionalProperties: false
                                - description: >-
                                    Valid country-local postal system pairing.
                                    Registered countries only accept their
                                    registered local systems; countries without
                                    a registered local system use postal_code or
                                    custom.
                                  anyOf:
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - US
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - zip
                                                - zip_plus_four
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - GB
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - outward
                                                - full
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - CA
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - fsa
                                                - full
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - DE
                                                - CH
                                                - AT
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - plz
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - FR
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - code_postal
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - AU
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postcode
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - BR
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - cep
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - IN
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - pin
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - type: string
                                              enum:
                                                - ZA
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postal_code
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                                    - type: object
                                      properties:
                                        country:
                                          allOf:
                                            - type: string
                                              pattern: ^[A-Z]{2}$
                                              description: ISO 3166-1 alpha-2 country code.
                                            - {}
                                        system:
                                          allOf:
                                            - type: string
                                              enum:
                                                - postal_code
                                                - zip
                                                - zip_plus_four
                                                - outward
                                                - full
                                                - fsa
                                                - plz
                                                - code_postal
                                                - postcode
                                                - cep
                                                - pin
                                                - custom
                                                - us_zip
                                                - us_zip_plus_four
                                                - gb_outward
                                                - gb_full
                                                - ca_fsa
                                                - ca_full
                                                - de_plz
                                                - fr_code_postal
                                                - au_postcode
                                                - ch_plz
                                                - at_plz
                                              description: Country-local postal code system.
                                            - type: string
                                              enum:
                                                - postal_code
                                                - custom
                                      required:
                                        - country
                                        - system
                                      additionalProperties: false
                            - type: object
                              properties:
                                system:
                                  type: string
                                  enum:
                                    - us_zip
                                    - us_zip_plus_four
                                    - gb_outward
                                    - gb_full
                                    - ca_fsa
                                    - ca_full
                                    - de_plz
                                    - fr_code_postal
                                    - au_postcode
                                    - ch_plz
                                    - at_plz
                                  description: >-
                                    Deprecated country-fused postal code system
                                    (e.g., 'us_zip', 'gb_outward'). Prefer
                                    country + postal-system.
                                values:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                  description: Postal codes within the legacy system.
                              required:
                                - system
                                - values
                              additionalProperties: false
                          description: >-
                            Postal area values. Prefer the native country +
                            postal system form. Deprecated legacy country-fused
                            postal-system tokens remain accepted for
                            compatibility.
                        description: >-
                          Exclude specific postal areas from delivery. Prefer
                          the native country + postal system form. The
                          deprecated legacy country-fused postal-system tokens
                          remain accepted for compatibility. Seller must declare
                          supported systems in get_adcp_capabilities.
                      geo_places:
                        minItems: 1
                        type: array
                        items:
                          allOf:
                            - type: object
                              properties:
                                country:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  description: >-
                                    ISO 3166-1 alpha-2 country code containing
                                    the place.
                                system:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - geonames
                                        - google_ads
                                        - microsoft_ads
                                    - type: string
                                      pattern: ^https:\/\/
                                  description: >-
                                    Collision-safe identifier namespace for
                                    geographic places. Registered tokens have
                                    protocol-defined semantics. Unregistered
                                    systems MUST use an absolute HTTPS URI
                                    controlled by the catalog owner; consumers
                                    compare URI systems as exact opaque strings.
                                system_version:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Optional exact catalog version from the
                                    seller's declared supported_versions. When
                                    omitted, the seller applies
                                    catalog.current_version and MUST echo that
                                    version on persisted package state.
                                place_type:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - airport
                                        - borough
                                        - city
                                        - city_region
                                        - commune
                                        - county
                                        - district
                                        - municipality
                                        - neighborhood
                                        - post_town
                                        - prefecture
                                        - province
                                        - quarter
                                        - state
                                        - territory
                                        - ward
                                    - type: string
                                      pattern: ^https:\/\/
                                  description: >-
                                    Canonical place classification. Registered
                                    tokens have protocol-defined meanings.
                                    Catalog-specific classifications without a
                                    registered mapping MUST use an absolute
                                    HTTPS URI controlled by the vocabulary
                                    owner; consumers compare URI types as exact
                                    opaque strings.
                                values:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                  description: >-
                                    Stable place identifiers in the declared
                                    system. Display names are not valid
                                    targeting values.
                                value_labels:
                                  type: object
                                  additionalProperties:
                                    type: string
                                    minLength: 1
                                  description: >-
                                    Optional human-readable diagnostic labels
                                    keyed by identifiers present in values.
                                    Extra keys are a conformance error. Labels
                                    are non-authoritative and MUST NOT be used
                                    to resolve or apply targeting.
                                ext:
                                  type: object
                                  additionalProperties: {}
                                  description: >-
                                    Extension object for platform-specific,
                                    vendor-namespaced parameters. Extensions are
                                    always optional and must be namespaced under
                                    a vendor/platform key (e.g., ext.gam,
                                    ext.roku). Used for custom capabilities,
                                    partner-specific configuration, and features
                                    being proposed for standardization.
                              required:
                                - country
                                - system
                                - place_type
                                - values
                              additionalProperties: false
                            - anyOf:
                                - {}
                                - type: object
                                  properties:
                                    system:
                                      type: string
                                      enum:
                                        - geonames
                                        - google_ads
                                        - microsoft_ads
                                    values: {}
                                  required:
                                    - system
                                  additionalProperties: false
                          description: >-
                            A catalog-backed named place target. Values are
                            stable identifiers in the declared system. Entries
                            within geo_places form a union; different geographic
                            inclusion dimensions intersect. value_labels are
                            diagnostic only and MUST NOT be used to resolve
                            targeting.
                        description: >-
                          Restrict delivery to catalog-backed named places.
                          Values MUST be stable identifiers in the declared
                          system, not display names. Sellers must declare
                          supported systems, countries, and place types in
                          get_adcp_capabilities and reject unsupported entries
                          rather than silently dropping them.
                      geo_places_exclude:
                        minItems: 1
                        type: array
                        items:
                          allOf:
                            - type: object
                              properties:
                                country:
                                  type: string
                                  pattern: ^[A-Z]{2}$
                                  description: >-
                                    ISO 3166-1 alpha-2 country code containing
                                    the place.
                                system:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - geonames
                                        - google_ads
                                        - microsoft_ads
                                    - type: string
                                      pattern: ^https:\/\/
                                  description: >-
                                    Collision-safe identifier namespace for
                                    geographic places. Registered tokens have
                                    protocol-defined semantics. Unregistered
                                    systems MUST use an absolute HTTPS URI
                                    controlled by the catalog owner; consumers
                                    compare URI systems as exact opaque strings.
                                system_version:
                                  type: string
                                  minLength: 1
                                  description: >-
                                    Optional exact catalog version from the
                                    seller's declared supported_versions. When
                                    omitted, the seller applies
                                    catalog.current_version and MUST echo that
                                    version on persisted package state.
                                place_type:
                                  anyOf:
                                    - type: string
                                      enum:
                                        - airport
                                        - borough
                                        - city
                                        - city_region
                                        - commune
                                        - county
                                        - district
                                        - municipality
                                        - neighborhood
                                        - post_town
                                        - prefecture
                                        - province
                                        - quarter
                                        - state
                                        - territory
                                        - ward
                                    - type: string
                                      pattern: ^https:\/\/
                                  description: >-
                                    Canonical place classification. Registered
                                    tokens have protocol-defined meanings.
                                    Catalog-specific classifications without a
                                    registered mapping MUST use an absolute
                                    HTTPS URI controlled by the vocabulary
                                    owner; consumers compare URI types as exact
                                    opaque strings.
                                values:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: string
                                    minLength: 1
                                  description: >-
                                    Stable place identifiers in the declared
                                    system. Display names are not valid
                                    targeting values.
                                value_labels:
                                  type: object
                                  additionalProperties:
                                    type: string
                                    minLength: 1
                                  description: >-
                                    Optional human-readable diagnostic labels
                                    keyed by identifiers present in values.
                                    Extra keys are a conformance error. Labels
                                    are non-authoritative and MUST NOT be used
                                    to resolve or apply targeting.
                                ext:
                                  type: object
                                  additionalProperties: {}
                                  description: >-
                                    Extension object for platform-specific,
                                    vendor-namespaced parameters. Extensions are
                                    always optional and must be namespaced under
                                    a vendor/platform key (e.g., ext.gam,
                                    ext.roku). Used for custom capabilities,
                                    partner-specific configuration, and features
                                    being proposed for standardization.
                              required:
                                - country
                                - system
                                - place_type
                                - values
                              additionalProperties: false
                            - anyOf:
                                - {}
                                - type: object
                                  properties:
                                    system:
                                      type: string
                                      enum:
                                        - geonames
                                        - google_ads
                                        - microsoft_ads
                                    values: {}
                                  required:
                                    - system
                                  additionalProperties: false
                          description: >-
                            A catalog-backed named place target. Values are
                            stable identifiers in the declared system. Entries
                            within geo_places form a union; different geographic
                            inclusion dimensions intersect. value_labels are
                            diagnostic only and MUST NOT be used to resolve
                            targeting.
                        description: >-
                          Exclude catalog-backed named places. Uses the same
                          identifier-based shape as geo_places. Sellers MUST
                          reject overlap with geo_places for the same country,
                          system, place_type, and value.
                      geo_proximity:
                        minItems: 1
                        type: array
                        items:
                          allOf:
                            - type: object
                              properties:
                                lat:
                                  type: number
                                  minimum: -90
                                  maximum: 90
                                  description: >-
                                    Latitude in decimal degrees (WGS 84).
                                    Required for travel_time and radius methods.
                                lng:
                                  type: number
                                  minimum: -180
                                  maximum: 180
                                  description: >-
                                    Longitude in decimal degrees (WGS 84).
                                    Required for travel_time and radius methods.
                                label:
                                  type: string
                                  description: >-
                                    Human-readable label for this entry (e.g.,
                                    'Düsseldorf', 'Heathrow Airport', 'Primary
                                    trade area').
                                travel_time:
                                  type: object
                                  properties:
                                    value:
                                      type: number
                                      minimum: 1
                                      description: Travel time limit.
                                    unit:
                                      type: string
                                      enum:
                                        - min
                                        - hr
                                      description: >-
                                        Time unit for isochrone (travel-time
                                        catchment) calculations.
                                  required:
                                    - value
                                    - unit
                                  additionalProperties: false
                                  description: >-
                                    Travel time limit for isochrone calculation.
                                    The platform resolves this to a geographic
                                    boundary based on actual transportation
                                    networks.
                                transport_mode:
                                  type: string
                                  enum:
                                    - walking
                                    - cycling
                                    - driving
                                    - public_transport
                                  description: >-
                                    Transportation mode for isochrone
                                    calculation. Required when travel_time is
                                    provided.
                                radius:
                                  type: object
                                  properties:
                                    value:
                                      type: number
                                      minimum: 0
                                      exclusiveMinimum: true
                                      description: Radius distance.
                                    unit:
                                      type: string
                                      enum:
                                        - km
                                        - mi
                                        - m
                                      description: Distance unit.
                                  required:
                                    - value
                                    - unit
                                  additionalProperties: false
                                  description: >-
                                    Simple radius from the point. The platform
                                    draws a circle of this distance around the
                                    coordinates.
                                geometry:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - Polygon
                                        - MultiPolygon
                                      description: GeoJSON geometry type.
                                    coordinates:
                                      type: array
                                      items: {}
                                      description: >-
                                        GeoJSON coordinates array. For Polygon:
                                        array of linear rings. For MultiPolygon:
                                        array of polygons.
                                  required:
                                    - type
                                    - coordinates
                                  additionalProperties: false
                                  description: >-
                                    Pre-computed GeoJSON geometry defining the
                                    proximity boundary. Use when the buyer has
                                    already calculated isochrones (via
                                    TravelTime, Mapbox, etc.) or has custom
                                    boundaries. When geometry is provided,
                                    lat/lng are not required.
                                ext:
                                  type: object
                                  additionalProperties: {}
                                  description: >-
                                    Extension object for platform-specific,
                                    vendor-namespaced parameters. Extensions are
                                    always optional and must be namespaced under
                                    a vendor/platform key (e.g., ext.gam,
                                    ext.roku). Used for custom capabilities,
                                    partner-specific configuration, and features
                                    being proposed for standardization.
                              additionalProperties: {}
                            - {}
                        description: >-
                          Target users within travel time, distance, or a custom
                          boundary around arbitrary geographic points. Multiple
                          entries use OR semantics — a user within range of any
                          listed point is eligible. For campaigns targeting 10+
                          locations, consider using store_catchments with a
                          location catalog instead. Seller must declare support
                          in get_adcp_capabilities.
                      language:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          minLength: 2
                          maxLength: 63
                          pattern: >-
                            ^(?:[a-z]{2,8}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}|[0-9]{3}))?(?:-(?:[a-z0-9]{5,8}|[0-9][a-z0-9]{3}))*(?:-[0-9a-wy-z](?:-[a-z0-9]{2,8})+)*(?:-x(?:-[a-z0-9]{1,8})+)?|x(?:-[a-z0-9]{1,8})+)$
                          description: >-
                            A well-formed BCP 47 language tag used by AdCP only
                            as language identity. Script and region may refine
                            that identity; other valid BCP 47 subtags remain
                            part of tag matching but do not make this a general
                            locale-settings object. It does not determine
                            currency, time zone, number/date formatting, market,
                            or legal jurisdiction. The AdCP canonical wire
                            profile requires lower-case language and variants,
                            title-case script, and upper-case region (for
                            example `en-US`, `zh-Hant-TW`, or `x-private`). RFC
                            5646 comparisons are case-insensitive and its case
                            regularization is optional; AdCP intentionally
                            requires this stricter single wire spelling and
                            receivers MUST reject differently cased tags rather
                            than silently normalizing them. The schema pattern
                            enforces the AdCP casing profile and extension
                            structure for commonly used tags; conforming
                            receivers additionally validate the complete RFC
                            5646 grammar and registry rules. Every new AdCP
                            field carrying BCP 47 language identity or a
                            concrete language range MUST reference this schema
                            instead of declaring independent string constraints.
                        description: >-
                          Restrict to users with specific language preferences
                          using canonical BCP 47 language ranges. Each buyer
                          range is evaluated against a user's
                          language-preference tag with RFC 4647 section 3.3.1
                          Basic Filtering: 'fr' matches 'fr', 'fr-CA', and
                          'fr-FR', while 'fr-CA' matches 'fr-CA' and
                          more-specific descendants but not 'fr' or 'fr-FR'.
                          Values use OR logic.
                      device_type:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - desktop
                            - mobile
                            - tablet
                            - ctv
                            - dooh
                            - unknown
                          description: >-
                            Device form factor categories for targeting and
                            reporting. Complements device-platform (operating
                            system) with hardware classification. OpenRTB
                            mapping: 1 (Mobile/Tablet General) → mobile, 2 (PC)
                            → desktop, 4 (Phone) → mobile, 5 (Tablet) → tablet,
                            6 (Connected Device) → ctv, 7 (Set Top Box) → ctv.
                            DOOH inventory uses dooh.
                        description: >-
                          Restrict to specific device form factors. Use for
                          campaigns targeting hardware categories rather than
                          operating systems (e.g., mobile-only promotions, CTV
                          campaigns).
                      device_type_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - desktop
                            - mobile
                            - tablet
                            - ctv
                            - dooh
                            - unknown
                          description: >-
                            Device form factor categories for targeting and
                            reporting. Complements device-platform (operating
                            system) with hardware classification. OpenRTB
                            mapping: 1 (Mobile/Tablet General) → mobile, 2 (PC)
                            → desktop, 4 (Phone) → mobile, 5 (Tablet) → tablet,
                            6 (Connected Device) → ctv, 7 (Set Top Box) → ctv.
                            DOOH inventory uses dooh.
                        description: >-
                          Exclude specific device form factors from delivery
                          (e.g., exclude CTV for app-install campaigns).
                      device_platform:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - ios
                            - android
                            - windows
                            - macos
                            - linux
                            - chromeos
                            - tvos
                            - tizen
                            - webos
                            - fire_os
                            - roku_os
                            - unknown
                          description: >-
                            Operating system platforms for device targeting.
                            Browser values from Sec-CH-UA-Platform standard,
                            extended for CTV.
                        description: >-
                          Restrict to specific platforms. Use for technical
                          compatibility (app only works on iOS). Values from
                          Sec-CH-UA-Platform standard, extended for CTV.
                      device_platform_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - ios
                            - android
                            - windows
                            - macos
                            - linux
                            - chromeos
                            - tvos
                            - tizen
                            - webos
                            - fire_os
                            - roku_os
                            - unknown
                          description: >-
                            Operating system platforms for device targeting.
                            Browser values from Sec-CH-UA-Platform standard,
                            extended for CTV.
                        description: >-
                          Exclude specific operating-system platforms from
                          delivery. When a platform appears in both
                          device_platform and device_platform_exclude, exclusion
                          wins. Sellers MUST reject a request they cannot
                          enforce rather than silently dropping the exclusion.
                      browser:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - chrome
                            - safari
                            - firefox
                            - edge
                            - opera
                            - samsung_internet
                            - android_webview
                            - other
                            - unknown
                          description: >-
                            Portable browser families for targeting the
                            impression delivery and rendering environment, not a
                            post-click landing-page browser. Values identify
                            browser families, not versions or seller-native
                            browser IDs, and MUST NOT be inferred solely from
                            operating system, device, web/mobile-web inventory,
                            or placement. android_webview means an impression
                            reliably classified as rendering in Android WebView.
                            other means a seller-recognized browser family that
                            is not explicitly enumerated; unknown means the
                            seller cannot classify the browser into a recognized
                            family.
                        description: >-
                          Restrict delivery to specific canonical browser
                          families in the impression delivery and rendering
                          environment, not the post-click landing-page browser.
                          Values MUST NOT be inferred solely from operating
                          system, device, web/mobile-web inventory, or
                          placement. Values in this array use OR semantics. When
                          browser is supplied, families not listed are
                          ineligible: other includes a seller-recognized family
                          that is not explicitly enumerated, while unknown
                          includes a browser the seller cannot classify into a
                          recognized family. When the same family appears in
                          browser and browser_exclude, exclusion wins. Browser
                          and device constraints intersect; a seller that cannot
                          enforce the exact combination MUST exclude or
                          explicitly reconfigure the product during discovery
                          and MUST reject it at create or update rather than
                          silently widening delivery. Browser versions and
                          seller-native IDs are intentionally unsupported.
                      browser_exclude:
                        minItems: 1
                        type: array
                        items:
                          type: string
                          enum:
                            - chrome
                            - safari
                            - firefox
                            - edge
                            - opera
                            - samsung_internet
                            - android_webview
                            - other
                            - unknown
                          description: >-
                            Portable browser families for targeting the
                            impression delivery and rendering environment, not a
                            post-click landing-page browser. Values identify
                            browser families, not versions or seller-native
                            browser IDs, and MUST NOT be inferred solely from
                            operating system, device, web/mobile-web inventory,
                            or placement. android_webview means an impression
                            reliably classified as rendering in Android WebView.
                            other means a seller-recognized browser family that
                            is not explicitly enumerated; unknown means the
                            seller cannot classify the browser into a recognized
                            family.
                        description: >-
                          Exclude specific canonical browser families from
                          delivery. other excludes seller-recognized families
                          that are not explicitly enumerated; unknown excludes
                          browsers the seller cannot classify into a recognized
                          family. When the same family appears in browser and
                          browser_exclude, exclusion wins. Sellers MUST reject a
                          request they cannot enforce rather than silently
                          dropping the exclusion.
                      daypart_targets:
                        minItems: 1
                        type: array
                        items:
                          type: object
                          properties:
                            days:
                              minItems: 1
                              type: array
                              items:
                                type: string
                                enum:
                                  - monday
                                  - tuesday
                                  - wednesday
                                  - thursday
                                  - friday
                                  - saturday
                                  - sunday
                                description: Days of the week for daypart targeting
                              description: >-
                                Days of week this window applies to. Use
                                multiple days for compact targeting (e.g.,
                                monday-friday in one object).
                            start_hour:
                              type: integer
                              minimum: 0
                              maximum: 23
                              description: >-
                                Start hour (inclusive), 0-23 in 24-hour format.
                                0 = midnight, 6 = 6:00am, 18 = 6:00pm.
                            end_hour:
                              type: integer
                              minimum: 1
                              maximum: 24
                              description: >-
                                End hour (exclusive), 1-24 in 24-hour format. 10
                                = 10:00am, 24 = midnight. Must be greater than
                                start_hour.
                            timezone:
                              default: inventory_local
                              anyOf:
                                - type: string
                                  enum:
                                    - inventory_local
                                - description: >-
                                    Concrete timezone identifier in the
                                    implementation's supported IANA Time Zone
                                    Database, such as America/New_York, CET, or
                                    UTC.
                              description: >-
                                Civil-time clock used to evaluate this window.
                                'inventory_local' evaluates the hours in the
                                seller-assigned local timezone of each inventory
                                unit that can deliver the impression, such as a
                                screen, venue, station, or publisher property;
                                it never means the buyer, account, or server
                                timezone. A concrete IANA timezone identifier
                                (for example, 'America/New_York', 'CET', or
                                'UTC') evaluates one shared civil-time clock
                                across the targeted inventory. Omission defaults
                                to 'inventory_local'. Buyers that begin with a
                                user or account preference MUST resolve it to a
                                concrete IANA identifier before sending the
                                daypart; 'user_timezone' and 'account_timezone'
                                are not wire values. For each candidate delivery
                                instant, convert the instant into this clock and
                                compare its resulting local day and hour with
                                the half-open window: a skipped DST hour has no
                                matching instants, while both occurrences of a
                                repeated hour match. This delivery clock is
                                independent of reporting_capabilities.timezone.
                            label:
                              type: string
                              description: >-
                                Optional human-readable name for this time
                                window (e.g., 'Morning Drive', 'Prime Time')
                          required:
                            - days
                            - start_hour
                            - end_hour
                            - timezone
                          additionalProperties: false
                          description: >-
                            A time window for daypart targeting. Specifies days
                            of week, an hour range, and the civil-time clock
                            used to evaluate it. start_hour is inclusive,
                            end_hour is exclusive (e.g., 6-10 = 6:00am to
                            10:00am). Follows the Google Ads AdScheduleInfo /
                            DV360 DayPartTargeting pattern.
                        description: >-
                          Restrict delivery to specific time windows. Each entry
                          specifies days of week, an hour range, and an optional
                          timezone that defaults to inventory_local. A concrete
                          IANA zone uses one shared civil-time clock, while
                          inventory_local evaluates each inventory unit in its
                          seller-assigned local timezone. Entries are
                          independent and MAY use different clocks.
                      demographics:
                        type: object
                        properties:
                          age:
                            allOf:
                              - description: >-
                                  A canonical audience-age predicate in
                                  completed integer years. min and max are
                                  inclusive; omitting one bound means no
                                  restriction in that direction. At least one
                                  bound is required. include_unknown is always
                                  explicit because people whose age is
                                  unavailable are not members of any numeric
                                  interval. Implementations MUST reject min
                                  greater than max; JSON Schema draft-07 cannot
                                  compare sibling numeric values.
                                anyOf:
                                  - type: object
                                    properties:
                                      min:
                                        allOf:
                                          - type: integer
                                            minimum: 0
                                            maximum: 150
                                            description: >-
                                              Inclusive minimum age in completed
                                              years. Omit for an open lower bound.
                                          - {}
                                      max:
                                        type: integer
                                        minimum: 0
                                        maximum: 150
                                        description: >-
                                          Inclusive maximum age in completed
                                          years. Omit for an open upper bound.
                                      include_unknown:
                                        type: boolean
                                        description: >-
                                          Whether delivery to people whose age is
                                          unavailable is part of this predicate.
                                          This field has no default and MUST be
                                          supplied.
                                    required:
                                      - include_unknown
                                      - min
                                  - type: object
                                    properties:
                                      min:
                                        type: integer
                                        minimum: 0
                                        maximum: 150
                                        description: >-
                                          Inclusive minimum age in completed
                                          years. Omit for an open lower bound.
                                      max:
                                        allOf:
                                          - type: integer
                                            minimum: 0
                                            maximum: 150
                                            description: >-
                                              Inclusive maximum age in completed
                                              years. Omit for an open upper bound.
                                          - {}
                                      include_unknown:
                                        type: boolean
                                        description: >-
                                          Whether delivery to people whose age is
                                          unavailable is part of this predicate.
                                          This field has no default and MUST be
                                          supplied.
                                    required:
                                      - include_unknown
                                      - max
                              - type: object
                                properties:
                                  accepted_bases:
                                    minItems: 1
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - verified
                                        - declared
                                        - inferred
                                      description: >-
                                        User-level bases that may resolve age
                                        for demographic targeting execution.
                                        Population estimates are deliberately
                                        absent because aggregate composition
                                        cannot establish an individual
                                        impression's age.
                                    description: >-
                                      User-level age determination bases the
                                      buyer permits for this predicate. Sellers
                                      MUST use only these bases or reject the
                                      request; they MUST NOT silently fall back
                                      to another basis. When omitted, the buyer
                                      imposes no determination-basis constraint
                                      beyond product capability and any
                                      age_restriction. population_estimate is
                                      structurally unavailable because aggregate
                                      evidence cannot identify an eligible user.
                                  accepted_verification_methods:
                                    minItems: 1
                                    type: array
                                    items:
                                      type: string
                                      enum:
                                        - facial_age_estimation
                                        - id_document
                                        - digital_id
                                        - credit_card
                                        - world_id
                                      description: >-
                                        Methods for verifying user age for
                                        compliance. Does not include 'inferred'
                                        as it is not accepted for regulatory
                                        compliance.
                                    description: >-
                                      Verification methods acceptable when
                                      verified is an accepted basis. This field
                                      narrows verified demographic execution;
                                      age_restriction.accepted_methods
                                      independently governs legal eligibility
                                      and the two sets are intersected when both
                                      are present.
                                additionalProperties: {}
                              - anyOf:
                                  - {}
                                  - type: object
                                    properties:
                                      accepted_verification_methods: {}
                                      accepted_bases: {}
                                    required:
                                      - accepted_verification_methods
                                      - accepted_bases
                        required:
                          - age
                        additionalProperties: {}
                        description: >-
                          Canonical demographic audience targeting intent with
                          optional constraints on how age may be determined.
                          This is distinct from age_restriction: demographics
                          selects an audience, while age_restriction expresses a
                          legal eligibility or verification floor. Fresh
                          create/update targeting MUST compile exactly or be
                          rejected. During get_products, a seller may offer a
                          different configured predicate only through sparse
                          targeting_resolution modifications on a
                          distinguishable product_id; selecting that product
                          accepts the alternative. Sellers never silently
                          broaden, narrow, default, drop, or substitute the
                          basis.
                      age_restriction:
                        type: object
                        properties:
                          min:
                            type: integer
                            minimum: 13
                            maximum: 99
                            description: Minimum age required
                          verification_required:
                            default: false
                            type: boolean
                            description: >-
                              Whether verified age (not inferred) is required
                              for compliance
                          accepted_methods:
                            minItems: 1
                            type: array
                            items:
                              type: string
                              enum:
                                - facial_age_estimation
                                - id_document
                                - digital_id
                                - credit_card
                                - world_id
                              description: >-
                                Methods for verifying user age for compliance.
                                Does not include 'inferred' as it is not
                                accepted for regulatory compliance.
                            description: >-
                              Accepted verification methods. If omitted, any
                              method the platform supports is acceptable.
                        required:
                          - min
                          - verification_required
                        additionalProperties: false
                        description: >-
                          Age restriction for compliance. Use for legal
                          requirements (alcohol, gambling), not audience
                          targeting.
                    additionalProperties: false
                required:
                  - campaignId
                  - advertiserId
                  - name
                  - revision
                  - handling
                  - phase
                  - isPaused
                  - isArchived
                  - autonomy
                  - createdAt
                  - updatedAt
                additionalProperties: false
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          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:
    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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.