openapi: 3.0.0
info:
  title: Unified.to ADS API
  version: "1.0"
  description: One API to Rule Them All
  contact:
    email: hello@unified.to
    url: https://unified.to/contact
  termsOfService: https://unified.to/tos
externalDocs:
  description: API Documentation
  url: https://docs.unified.to
tags:
  - name: unifiedapi
    description: Unified.to API
  - name: ads
  - name: organization
  - name: campaign
  - name: creative
  - name: insertionorder
  - name: group
  - name: ad
  - name: report
  - name: target
  - name: promoted
security:
  - jwt: []
servers:
  - url: https://api.unified.to
    description: North American data region
  - url: https://api-eu.unified.to
    description: European data region
  - url: https://api-au.unified.to
    description: Australian data region
components:
  securitySchemes:
    jwt:
      type: apiKey
      name: authorization
      in: header
  requestBodies:
    AdsOrganization:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsOrganization"
    AdsCampaign:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsCampaign"
    AdsCreative:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsCreative"
    AdsInsertionorder:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsInsertionorder"
    AdsGroup:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsGroup"
    AdsAd:
      required: true
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/AdsAd"
  schemas:
    AdsOrganization:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        currency:
          type: string
        timezone:
          type: string
        parent_id:
          type: string
        raw:
          type: object
          additionalProperties: true
    AdsOrganizations:
      type: array
      items:
        $ref: "#/components/schemas/AdsOrganization"
    property_AdsCampaign_targeting_geographic_countries:
      type: array
      items:
        type: string
    RegionTarget:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
      description: states, provinces, regions
    property_AdsCampaign_targeting_geographic_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    CityTarget:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        radius:
          type: number
        radius_unit:
          type: string
          enum:
            - MILES
            - KILOMETERS
          x-speakeasy-unknown-values: allow
      required:
        - id
    property_AdsCampaign_targeting_geographic_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsCampaign_targeting_geographic_postal_codes:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_geographic_us_dmas:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_geographic_excluded_countries:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_geographic_excluded_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsCampaign_targeting_geographic_excluded_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsCampaign_targeting_geographic_excluded_postal_codes:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_geographic_excluded_us_dmas:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_geographic_location_types:
      type: array
      items:
        type: string
        enum:
          - HOME
          - RECENT
          - TRAVEL
        x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_geographic:
      type: object
      properties:
        countries:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_countries"
        regions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_regions"
        cities:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_cities"
        postal_codes:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_postal_codes"
        us_dmas:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_us_dmas"
        excluded_countries:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_excluded_countries"
        excluded_regions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_excluded_regions"
        excluded_cities:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_excluded_cities"
        excluded_postal_codes:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_excluded_postal_codes"
        excluded_us_dmas:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_excluded_us_dmas"
        location_types:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic_location_types"
        presence_type:
          type: string
          enum:
            - PRESENCE
            - PRESENCE_OR_INTEREST
          x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_demographic:
      type: object
      properties:
        age_min:
          type: number
        age_max:
          type: number
        male:
          type: boolean
        female:
          type: boolean
      description: "Demographic targeting (Meta: age_min, age_max, genders)"
    AudienceSegment:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
      description: "Audience targeting (Meta: custom_audiences, lookalike_audiences, flexible_spec)"
    property_AdsCampaign_targeting_audience_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsCampaign_targeting_audience_excluded_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    LookalikeAudience:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        similarity:
          type: number
        source_audience_id:
          type: string
      required:
        - id
    property_AdsCampaign_targeting_audience_lookalike_audiences:
      type: array
      items:
        $ref: "#/components/schemas/LookalikeAudience"
    property_AdsCampaign_targeting_audience_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsCampaign_targeting_audience_excluded_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsCampaign_targeting_audience_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsCampaign_targeting_audience_excluded_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AudienceCombination_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AudienceCombination_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AudienceCombination_demographics:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AudienceCombination_life_events:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    AudienceCombination:
      type: object
      properties:
        interests:
          $ref: "#/components/schemas/property_AudienceCombination_interests"
        behaviors:
          $ref: "#/components/schemas/property_AudienceCombination_behaviors"
        demographics:
          $ref: "#/components/schemas/property_AudienceCombination_demographics"
        life_events:
          $ref: "#/components/schemas/property_AudienceCombination_life_events"
    property_AdsCampaign_targeting_audience_combination_spec:
      type: array
      items:
        $ref: "#/components/schemas/AudienceCombination"
    property_AdsCampaign_targeting_audience:
      type: object
      properties:
        custom_audiences:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_custom_audiences"
        excluded_custom_audiences:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_excluded_custom_audiences"
        lookalike_audiences:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_lookalike_audiences"
        interests:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_interests"
        excluded_interests:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_excluded_interests"
        behaviors:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_behaviors"
        excluded_behaviors:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_excluded_behaviors"
        combination_spec:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience_combination_spec"
    property_AdsCampaign_targeting_placement_platforms:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_placement_facebook_positions:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_placement_instagram_positions:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_placement_messenger_positions:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_placement_audience_network_positions:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_placement:
      type: object
      properties:
        platforms:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement_platforms"
        facebook_positions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement_facebook_positions"
        instagram_positions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement_instagram_positions"
        messenger_positions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement_messenger_positions"
        audience_network_positions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement_audience_network_positions"
    property_AdsCampaign_targeting_device_types:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_device_user_device:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_device_user_os:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_device_carriers:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_device:
      type: object
      properties:
        types:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_device_types"
        user_device:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_device_user_device"
        user_os:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_device_user_os"
        carriers:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_device_carriers"
    property_AdsCampaign_targeting_language_codes:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_language_locale_ids:
      type: array
      items:
        type: number
    property_AdsCampaign_targeting_language:
      type: object
      properties:
        codes:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_language_codes"
        locale_ids:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_language_locale_ids"
      description: Language targeting (Meta
    AdsKeyword:
      type: object
      properties:
        text:
          type: string
        match_type:
          type: string
          enum:
            - BROAD
            - PHRASE
            - EXACT
          x-speakeasy-unknown-values: allow
      required:
        - text
      description: Content targeting (keywords, topics, placements, video)
    property_AdsCampaign_targeting_content_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsCampaign_targeting_content_excluded_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsCampaign_targeting_content_topics:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_excluded_topics:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_urls:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_excluded_urls:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_video_youtube_videos:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_video_excluded_youtube_videos:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_video_youtube_channels:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_video_excluded_youtube_channels:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_content_video_positions:
      type: array
      items:
        type: string
        enum:
          - PREROLL
          - MIDROLL
          - POSTROLL
          - INSTREAM
          - OUTSTREAM
        x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_content_video_player_sizes:
      type: array
      items:
        type: string
        enum:
          - SMALL
          - LARGE
          - HD
        x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_content_video_durations:
      type: array
      items:
        type: string
        enum:
          - SHORT
          - MEDIUM
          - LONG
        x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_content_video:
      type: object
      properties:
        youtube_videos:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_youtube_videos"
        excluded_youtube_videos:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_excluded_youtube_videos"
        youtube_channels:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_youtube_channels"
        excluded_youtube_channels:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_excluded_youtube_channels"
        positions:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_positions"
        player_sizes:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_player_sizes"
        durations:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video_durations"
    property_AdsCampaign_targeting_content:
      type: object
      properties:
        keywords:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_keywords"
        excluded_keywords:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_excluded_keywords"
        topics:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_topics"
        excluded_topics:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_excluded_topics"
        urls:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_urls"
        excluded_urls:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_excluded_urls"
        video:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content_video"
    property_AdsCampaign_targeting_brand_safety_excluded_publisher_categories:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_brand_safety_excluded_content_labels:
      type: array
      items:
        type: string
      description: Google Ads ContentLabelType
    property_AdsCampaign_targeting_brand_safety_brand_safety_content_filter_levels:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_brand_safety_publisher_visibility_categories:
      type: array
      items:
        type: string
        enum:
          - limited
          - standard
          - expanded
        x-speakeasy-unknown-values: allow
    property_AdsCampaign_targeting_brand_safety_block_list_ids:
      type: array
      items:
        type: string
    property_AdsCampaign_targeting_brand_safety:
      type: object
      properties:
        excluded_publisher_categories:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety_excluded_publisher_categories"
        excluded_content_labels:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety_excluded_content_labels"
        brand_safety_content_filter_levels:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety_brand_safety_content_filter_levels"
        publisher_visibility_categories:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety_publisher_visibility_categories"
        block_list_ids:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety_block_list_ids"
      description: "Brand safety (Meta: excluded_publisher_categories, etc.; Google"
    AdSchedule:
      type: object
      properties:
        day_of_week:
          type: string
          enum:
            - MONDAY
            - TUESDAY
            - WEDNESDAY
            - THURSDAY
            - FRIDAY
            - SATURDAY
            - SUNDAY
          x-speakeasy-unknown-values: allow
        start_hour:
          type: number
        start_minute:
          type: number
        end_hour:
          type: number
        end_minute:
          type: number
        bid_modifier:
          type: number
      required:
        - day_of_week
        - start_hour
        - end_hour
    property_AdsCampaign_targeting_schedule:
      type: array
      items:
        $ref: "#/components/schemas/AdSchedule"
    property_AdsCampaign_targeting_optimization:
      type: object
      properties:
        mode:
          type: string
          enum:
            - TARGETING
            - OBSERVATION
          x-speakeasy-unknown-values: allow
        advantage_audience:
          type: boolean
        advantage_placements:
          type: boolean
        targeting_optimization_expansion_all:
          type: boolean
      description: "Optimization (Meta: targeting_automation; Google: observation vs targeting mode)"
    property_AdsCampaign_targeting:
      type: object
      properties:
        geographic:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_geographic"
        demographic:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_demographic"
        audience:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_audience"
        placement:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_placement"
        device:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_device"
        language:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_language"
        content:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_content"
        brand_safety:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_brand_safety"
        schedule:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_schedule"
        optimization:
          $ref: "#/components/schemas/property_AdsCampaign_targeting_optimization"
    property_AdsCampaign_frequency_cap:
      type: object
      properties:
        is_unlimited:
          type: boolean
        time_unit:
          type: string
          enum:
            - UNSPECIFIED
            - LIFETIME
            - MONTHS
            - WEEKS
            - DAYS
            - HOURS
            - MINUTES
          x-speakeasy-unknown-values: allow
        time_unit_count:
          type: number
        max_impressions:
          type: number
        max_views:
          type: number
    AdsCampaign:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        organization_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
        budget_amount:
          type: number
        budget_period:
          type: string
          enum:
            - DAILY
            - MONTHLY
            - TOTAL
            - LIFETIME
          x-speakeasy-unknown-values: allow
        total_spend_amount:
          type: number
        targeting:
          $ref: "#/components/schemas/property_AdsCampaign_targeting"
        goal:
          type: string
          enum:
            - UNSPECIFIED
            - BRAND_AWARENESS
            - REACH
            - WEBSITE_TRAFFIC
            - LEADS
            - SALES
            - APP_PROMOTION
          x-speakeasy-unknown-values: allow
        planned_spend_amount:
          type: number
        frequency_cap:
          $ref: "#/components/schemas/property_AdsCampaign_frequency_cap"
        advertising_channel_type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        campaign_budget_identifier:
          type: string
        currency:
          type: string
        category:
          type: string
        has_eu_political_ads:
          type: boolean
        raw:
          type: object
          additionalProperties: true
    AdsCampaigns:
      type: array
      items:
        $ref: "#/components/schemas/AdsCampaign"
    property_AdsCreative_asset_urls:
      type: array
      items:
        type: string
      description: Hosted asset mode (best-effort, provider-specific
    AdsPromoted:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
          enum:
            - PAGE_ID
            - APP_ID
            - STORE_URL
            - PIXEL_ID
            - CUSTOM_CONVERSION_ID
            - CATALOG_ID
            - PRODUCT_SET_ID
            - PRIORITIZED_SET_ID
            - EVENT_ID
            - OFFER_ID
            - LEAD_FORM_ID
            - MESSAGING_CHANNEL_ID
            - PRODUCT_ID
            - TWEET_ID
            - AD_GROUP_TYPE
          x-speakeasy-unknown-values: allow
      required:
        - id
        - type
      description: Promoted entity (e.g. page, app, product, tweet) for ads create
    property_AdsCreative_promoted:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
    AdsCreative:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        campaign_id:
          type: string
        group_id:
          type: string
        item_id:
          type: string
        organization_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        creative_type:
          type: string
          enum:
            - UNSPECIFIED
            - STANDARD
            - EXPANDABLE
            - VIDEO
            - NATIVE
            - AUDIO
            - PUBLISHER_HOSTED
            - ASSET_BASED
          x-speakeasy-unknown-values: allow
        hosting_source:
          type: string
          enum:
            - UNSPECIFIED
            - CM
            - THIRD_PARTY
            - HOSTED
            - RICH_MEDIA
            - PUBLISHER_HOSTED
          x-speakeasy-unknown-values: allow
        width:
          type: number
        height:
          type: number
        asset_urls:
          $ref: "#/components/schemas/property_AdsCreative_asset_urls"
        link_url:
          type: string
        body:
          type: string
        title:
          type: string
        cta:
          type: string
        third_party_tag:
          type: string
        vast_tag_url:
          type: string
        external_creative_reference:
          type: string
        external_placement_reference:
          type: string
        external_ad_reference:
          type: string
        promoted:
          $ref: "#/components/schemas/property_AdsCreative_promoted"
        path1:
          type: string
        path2:
          type: string
        raw:
          type: object
          additionalProperties: true
    AdsCreatives:
      type: array
      items:
        $ref: "#/components/schemas/AdsCreative"
    property_AdsInsertionorder_pacing:
      type: object
      properties:
        period:
          type: string
          enum:
            - UNSPECIFIED
            - DAILY
            - FLIGHT
          x-speakeasy-unknown-values: allow
        type:
          type: string
        daily_max_amount:
          type: number
        daily_max_impressions:
          type: number
    property_AdsInsertionorder_frequency_cap:
      type: object
      properties:
        is_unlimited:
          type: boolean
        time_unit:
          type: string
          enum:
            - UNSPECIFIED
            - LIFETIME
            - MONTHS
            - WEEKS
            - DAYS
            - HOURS
            - MINUTES
          x-speakeasy-unknown-values: allow
        time_unit_count:
          type: number
        max_impressions:
          type: number
        max_views:
          type: number
    property_AdsInsertionorder_kpi:
      type: object
      properties:
        type:
          type: string
          enum:
            - UNSPECIFIED
            - CPM
            - CPC
            - CPA
            - CTR
            - VIEWABILITY
            - CPIAVC
            - CPE
            - CPV
            - CLICK_CVR
            - IMPRESSION_CVR
            - VCPM
            - VTR
            - AUDIO_COMPLETION_RATE
            - VIDEO_COMPLETION_RATE
            - CPCL
            - CPCV
            - TOS10
            - MAXIMIZE_PACING
            - CUSTOM_IMPRESSION_VALUE_OVER_COST
            - OTHER
          x-speakeasy-unknown-values: allow
        amount:
          type: number
        percentage:
          type: number
        string_value:
          type: string
        algorithm_id:
          type: string
    AdsInsertionorderBudgetSegment:
      type: object
      properties:
        budget_amount:
          type: number
        description:
          type: string
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
    property_AdsInsertionorder_budget_segments:
      type: array
      items:
        $ref: "#/components/schemas/AdsInsertionorderBudgetSegment"
    property_AdsInsertionorder_bid_strategy:
      type: object
      properties:
        type:
          type: string
          enum:
            - FIXED_BID
            - MAXIMIZE_SPEND
            - PERFORMANCE_GOAL
            - YOUTUBE_AND_PARTNERS
          x-speakeasy-unknown-values: allow
        fixed_bid_amount:
          type: number
        performance_goal_type:
          type: string
          enum:
            - UNSPECIFIED
            - CPA
            - CPC
            - VIEWABLE_CPM
            - CUSTOM_ALGO
            - CIVA
            - IVO_TEN
            - AV_VIEWED
            - REACH
          x-speakeasy-unknown-values: allow
        performance_goal_amount:
          type: number
        max_average_cpm_bid_amount:
          type: number
        custom_bidding_algorithm_id:
          type: string
        raise_bid_for_deals:
          type: boolean
        youtube_and_partners_type:
          type: string
          enum:
            - UNSPECIFIED
            - MANUAL_CPV
            - MANUAL_CPM
            - TARGET_CPA
            - TARGET_CPM
            - RESERVE_CPM
            - MAXIMIZE_LIFT
            - MAXIMIZE_CONVERSIONS
            - TARGET_CPV
            - TARGET_ROAS
            - MAXIMIZE_CONVERSION_VALUE
          x-speakeasy-unknown-values: allow
        youtube_and_partners_value:
          type: string
        target_roas:
          type: number
      required:
        - type
      description: YOUTUBE_AND_PARTNERS
    AdsInsertionorder:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        organization_id:
          type: string
        campaign_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        pacing:
          $ref: "#/components/schemas/property_AdsInsertionorder_pacing"
        frequency_cap:
          $ref: "#/components/schemas/property_AdsInsertionorder_frequency_cap"
        kpi:
          $ref: "#/components/schemas/property_AdsInsertionorder_kpi"
        budget_unit:
          type: string
          enum:
            - UNSPECIFIED
            - CURRENCY
            - IMPRESSIONS
          x-speakeasy-unknown-values: allow
        budget_segments:
          $ref: "#/components/schemas/property_AdsInsertionorder_budget_segments"
        bid_strategy:
          $ref: "#/components/schemas/property_AdsInsertionorder_bid_strategy"
        reference:
          type: string
        raw:
          type: object
          additionalProperties: true
    AdsInsertionorders:
      type: array
      items:
        $ref: "#/components/schemas/AdsInsertionorder"
    property_AdsGroup_targeting_geographic_countries:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsGroup_targeting_geographic_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsGroup_targeting_geographic_postal_codes:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_us_dmas:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_excluded_countries:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_excluded_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsGroup_targeting_geographic_excluded_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsGroup_targeting_geographic_excluded_postal_codes:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_excluded_us_dmas:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_geographic_location_types:
      type: array
      items:
        type: string
        enum:
          - HOME
          - RECENT
          - TRAVEL
        x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_geographic:
      type: object
      properties:
        countries:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_countries"
        regions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_regions"
        cities:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_cities"
        postal_codes:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_postal_codes"
        us_dmas:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_us_dmas"
        excluded_countries:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_excluded_countries"
        excluded_regions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_excluded_regions"
        excluded_cities:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_excluded_cities"
        excluded_postal_codes:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_excluded_postal_codes"
        excluded_us_dmas:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_excluded_us_dmas"
        location_types:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic_location_types"
        presence_type:
          type: string
          enum:
            - PRESENCE
            - PRESENCE_OR_INTEREST
          x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_demographic:
      type: object
      properties:
        age_min:
          type: number
        age_max:
          type: number
        male:
          type: boolean
        female:
          type: boolean
      description: "Demographic targeting (Meta: age_min, age_max, genders)"
    property_AdsGroup_targeting_audience_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_excluded_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_lookalike_audiences:
      type: array
      items:
        $ref: "#/components/schemas/LookalikeAudience"
    property_AdsGroup_targeting_audience_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_excluded_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_excluded_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsGroup_targeting_audience_combination_spec:
      type: array
      items:
        $ref: "#/components/schemas/AudienceCombination"
    property_AdsGroup_targeting_audience:
      type: object
      properties:
        custom_audiences:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_custom_audiences"
        excluded_custom_audiences:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_excluded_custom_audiences"
        lookalike_audiences:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_lookalike_audiences"
        interests:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_interests"
        excluded_interests:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_excluded_interests"
        behaviors:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_behaviors"
        excluded_behaviors:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_excluded_behaviors"
        combination_spec:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience_combination_spec"
    property_AdsGroup_targeting_placement_platforms:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_placement_facebook_positions:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_placement_instagram_positions:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_placement_messenger_positions:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_placement_audience_network_positions:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_placement:
      type: object
      properties:
        platforms:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement_platforms"
        facebook_positions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement_facebook_positions"
        instagram_positions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement_instagram_positions"
        messenger_positions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement_messenger_positions"
        audience_network_positions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement_audience_network_positions"
    property_AdsGroup_targeting_device_types:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_device_user_device:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_device_user_os:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_device_carriers:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_device:
      type: object
      properties:
        types:
          $ref: "#/components/schemas/property_AdsGroup_targeting_device_types"
        user_device:
          $ref: "#/components/schemas/property_AdsGroup_targeting_device_user_device"
        user_os:
          $ref: "#/components/schemas/property_AdsGroup_targeting_device_user_os"
        carriers:
          $ref: "#/components/schemas/property_AdsGroup_targeting_device_carriers"
    property_AdsGroup_targeting_language_codes:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_language_locale_ids:
      type: array
      items:
        type: number
    property_AdsGroup_targeting_language:
      type: object
      properties:
        codes:
          $ref: "#/components/schemas/property_AdsGroup_targeting_language_codes"
        locale_ids:
          $ref: "#/components/schemas/property_AdsGroup_targeting_language_locale_ids"
      description: Language targeting (Meta
    property_AdsGroup_targeting_content_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsGroup_targeting_content_excluded_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsGroup_targeting_content_topics:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_excluded_topics:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_urls:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_excluded_urls:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_video_youtube_videos:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_video_excluded_youtube_videos:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_video_youtube_channels:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_video_excluded_youtube_channels:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_content_video_positions:
      type: array
      items:
        type: string
        enum:
          - PREROLL
          - MIDROLL
          - POSTROLL
          - INSTREAM
          - OUTSTREAM
        x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_content_video_player_sizes:
      type: array
      items:
        type: string
        enum:
          - SMALL
          - LARGE
          - HD
        x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_content_video_durations:
      type: array
      items:
        type: string
        enum:
          - SHORT
          - MEDIUM
          - LONG
        x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_content_video:
      type: object
      properties:
        youtube_videos:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_youtube_videos"
        excluded_youtube_videos:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_excluded_youtube_videos"
        youtube_channels:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_youtube_channels"
        excluded_youtube_channels:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_excluded_youtube_channels"
        positions:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_positions"
        player_sizes:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_player_sizes"
        durations:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video_durations"
    property_AdsGroup_targeting_content:
      type: object
      properties:
        keywords:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_keywords"
        excluded_keywords:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_excluded_keywords"
        topics:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_topics"
        excluded_topics:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_excluded_topics"
        urls:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_urls"
        excluded_urls:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_excluded_urls"
        video:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content_video"
    property_AdsGroup_targeting_brand_safety_excluded_publisher_categories:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_brand_safety_excluded_content_labels:
      type: array
      items:
        type: string
      description: Google Ads ContentLabelType
    property_AdsGroup_targeting_brand_safety_brand_safety_content_filter_levels:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_brand_safety_publisher_visibility_categories:
      type: array
      items:
        type: string
        enum:
          - limited
          - standard
          - expanded
        x-speakeasy-unknown-values: allow
    property_AdsGroup_targeting_brand_safety_block_list_ids:
      type: array
      items:
        type: string
    property_AdsGroup_targeting_brand_safety:
      type: object
      properties:
        excluded_publisher_categories:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety_excluded_publisher_categories"
        excluded_content_labels:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety_excluded_content_labels"
        brand_safety_content_filter_levels:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety_brand_safety_content_filter_levels"
        publisher_visibility_categories:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety_publisher_visibility_categories"
        block_list_ids:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety_block_list_ids"
      description: "Brand safety (Meta: excluded_publisher_categories, etc.; Google"
    property_AdsGroup_targeting_schedule:
      type: array
      items:
        $ref: "#/components/schemas/AdSchedule"
    property_AdsGroup_targeting_optimization:
      type: object
      properties:
        mode:
          type: string
          enum:
            - TARGETING
            - OBSERVATION
          x-speakeasy-unknown-values: allow
        advantage_audience:
          type: boolean
        advantage_placements:
          type: boolean
        targeting_optimization_expansion_all:
          type: boolean
      description: "Optimization (Meta: targeting_automation; Google: observation vs targeting mode)"
    property_AdsGroup_targeting:
      type: object
      properties:
        geographic:
          $ref: "#/components/schemas/property_AdsGroup_targeting_geographic"
        demographic:
          $ref: "#/components/schemas/property_AdsGroup_targeting_demographic"
        audience:
          $ref: "#/components/schemas/property_AdsGroup_targeting_audience"
        placement:
          $ref: "#/components/schemas/property_AdsGroup_targeting_placement"
        device:
          $ref: "#/components/schemas/property_AdsGroup_targeting_device"
        language:
          $ref: "#/components/schemas/property_AdsGroup_targeting_language"
        content:
          $ref: "#/components/schemas/property_AdsGroup_targeting_content"
        brand_safety:
          $ref: "#/components/schemas/property_AdsGroup_targeting_brand_safety"
        schedule:
          $ref: "#/components/schemas/property_AdsGroup_targeting_schedule"
        optimization:
          $ref: "#/components/schemas/property_AdsGroup_targeting_optimization"
    property_AdsGroup_bid_strategy:
      type: object
      properties:
        type:
          type: string
          enum:
            - FIXED_BID
            - MAXIMIZE_SPEND
            - PERFORMANCE_GOAL
            - YOUTUBE_AND_PARTNERS
          x-speakeasy-unknown-values: allow
        fixed_bid_amount:
          type: number
        performance_goal_type:
          type: string
          enum:
            - UNSPECIFIED
            - CPA
            - CPC
            - VIEWABLE_CPM
            - CUSTOM_ALGO
            - CIVA
            - IVO_TEN
            - AV_VIEWED
            - REACH
          x-speakeasy-unknown-values: allow
        performance_goal_amount:
          type: number
        max_average_cpm_bid_amount:
          type: number
        custom_bidding_algorithm_id:
          type: string
        raise_bid_for_deals:
          type: boolean
        youtube_and_partners_type:
          type: string
          enum:
            - UNSPECIFIED
            - MANUAL_CPV
            - MANUAL_CPM
            - TARGET_CPA
            - TARGET_CPM
            - RESERVE_CPM
            - MAXIMIZE_LIFT
            - MAXIMIZE_CONVERSIONS
            - TARGET_CPV
            - TARGET_ROAS
            - MAXIMIZE_CONVERSION_VALUE
          x-speakeasy-unknown-values: allow
        youtube_and_partners_value:
          type: string
        target_roas:
          type: number
      required:
        - type
      description: YOUTUBE_AND_PARTNERS
    property_AdsGroup_pacing:
      type: object
      properties:
        period:
          type: string
          enum:
            - UNSPECIFIED
            - DAILY
            - FLIGHT
          x-speakeasy-unknown-values: allow
        type:
          type: string
        daily_max_amount:
          type: number
        daily_max_impressions:
          type: number
    property_AdsGroup_frequency_cap:
      type: object
      properties:
        is_unlimited:
          type: boolean
        time_unit:
          type: string
          enum:
            - UNSPECIFIED
            - LIFETIME
            - MONTHS
            - WEEKS
            - DAYS
            - HOURS
            - MINUTES
          x-speakeasy-unknown-values: allow
        time_unit_count:
          type: number
        max_impressions:
          type: number
        max_views:
          type: number
    property_AdsGroup_creative_ids:
      type: array
      items:
        type: string
    property_AdsGroup_promoted:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
    AdsGroup:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        parent_id:
          type: string
        campaign_id:
          type: string
        organization_id:
          type: string
        insertionorder_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        targeting:
          $ref: "#/components/schemas/property_AdsGroup_targeting"
        bid_amount:
          type: number
        bid_strategy:
          $ref: "#/components/schemas/property_AdsGroup_bid_strategy"
        budget_amount:
          type: number
        budget_period:
          type: string
          enum:
            - DAILY
            - MONTHLY
            - TOTAL
            - LIFETIME
          x-speakeasy-unknown-values: allow
        budget_allocation_type:
          type: string
          enum:
            - UNSPECIFIED
            - AUTOMATIC
            - FIXED
            - UNLIMITED
          x-speakeasy-unknown-values: allow
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
        budget_unit:
          type: string
          enum:
            - UNSPECIFIED
            - CURRENCY
            - IMPRESSIONS
          x-speakeasy-unknown-values: allow
        budget_max_amount:
          type: number
        type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        has_eu_political_ads:
          type: boolean
        pacing:
          $ref: "#/components/schemas/property_AdsGroup_pacing"
        frequency_cap:
          $ref: "#/components/schemas/property_AdsGroup_frequency_cap"
        creative_ids:
          $ref: "#/components/schemas/property_AdsGroup_creative_ids"
        optimization_goal:
          type: string
          enum:
            - REACH
            - IMPRESSIONS
            - LINK_CLICKS
            - LANDING_PAGE_VIEWS
            - CONVERSIONS
            - LEAD_GENERATION
            - APP_INSTALLS
            - APP_ENGAGEMENT
            - VIDEO_VIEWS
            - ENGAGEMENT
            - PAGE_LIKES
            - MESSAGES
          x-speakeasy-unknown-values: allow
        billing_event:
          type: string
          enum:
            - IMPRESSIONS
            - LINK_CLICKS
            - VIDEO_VIEWS
            - APP_INSTALLS
            - ENGAGEMENT
            - PAGE_LIKES
            - MESSAGES
            - POST_ENGAGEMENT
            - PURCHASE
            - NONE
          x-speakeasy-unknown-values: allow
        currency:
          type: string
        promoted:
          $ref: "#/components/schemas/property_AdsGroup_promoted"
        raw:
          type: object
          additionalProperties: true
    AdsGroups:
      type: array
      items:
        $ref: "#/components/schemas/AdsGroup"
    property_AdsAd_creative_ids:
      type: array
      items:
        type: string
    property_AdsAd_promoted:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
    AdsAd:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        campaign_id:
          type: string
        group_id:
          type: string
        organization_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        ad_type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        creative_ids:
          $ref: "#/components/schemas/property_AdsAd_creative_ids"
        creative_asset_url:
          type: string
        ad_copy:
          type: string
        headline:
          type: string
        description:
          type: string
        cta:
          type: string
        final_url:
          type: string
        display_url:
          type: string
        path1:
          type: string
        path2:
          type: string
        promoted:
          $ref: "#/components/schemas/property_AdsAd_promoted"
        raw:
          type: object
          additionalProperties: true
    AdsAds:
      type: array
      items:
        $ref: "#/components/schemas/AdsAd"
    property_AdsReportMetrics_campaign_targeting_geographic_countries:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsReportMetrics_campaign_targeting_geographic_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsReportMetrics_campaign_targeting_geographic_postal_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_us_dmas:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_excluded_countries:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_excluded_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsReportMetrics_campaign_targeting_geographic_excluded_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsReportMetrics_campaign_targeting_geographic_excluded_postal_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_excluded_us_dmas:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_geographic_location_types:
      type: array
      items:
        type: string
        enum:
          - HOME
          - RECENT
          - TRAVEL
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_geographic:
      type: object
      properties:
        countries:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_countries"
        regions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_regions"
        cities:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_cities"
        postal_codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_postal_codes"
        us_dmas:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_us_dmas"
        excluded_countries:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_excluded_countries"
        excluded_regions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_excluded_regions"
        excluded_cities:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_excluded_cities"
        excluded_postal_codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_excluded_postal_codes"
        excluded_us_dmas:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_excluded_us_dmas"
        location_types:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic_location_types"
        presence_type:
          type: string
          enum:
            - PRESENCE
            - PRESENCE_OR_INTEREST
          x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_demographic:
      type: object
      properties:
        age_min:
          type: number
        age_max:
          type: number
        male:
          type: boolean
        female:
          type: boolean
      description: "Demographic targeting (Meta: age_min, age_max, genders)"
    property_AdsReportMetrics_campaign_targeting_audience_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_excluded_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_lookalike_audiences:
      type: array
      items:
        $ref: "#/components/schemas/LookalikeAudience"
    property_AdsReportMetrics_campaign_targeting_audience_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_excluded_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_excluded_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_campaign_targeting_audience_combination_spec:
      type: array
      items:
        $ref: "#/components/schemas/AudienceCombination"
    property_AdsReportMetrics_campaign_targeting_audience:
      type: object
      properties:
        custom_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_custom_audiences"
        excluded_custom_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_excluded_custom_audiences"
        lookalike_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_lookalike_audiences"
        interests:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_interests"
        excluded_interests:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_excluded_interests"
        behaviors:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_behaviors"
        excluded_behaviors:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_excluded_behaviors"
        combination_spec:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience_combination_spec"
    property_AdsReportMetrics_campaign_targeting_placement_platforms:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_placement_facebook_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_placement_instagram_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_placement_messenger_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_placement_audience_network_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_placement:
      type: object
      properties:
        platforms:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement_platforms"
        facebook_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement_facebook_positions"
        instagram_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement_instagram_positions"
        messenger_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement_messenger_positions"
        audience_network_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement_audience_network_positions"
    property_AdsReportMetrics_campaign_targeting_device_types:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_device_user_device:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_device_user_os:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_device_carriers:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_device:
      type: object
      properties:
        types:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_device_types"
        user_device:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_device_user_device"
        user_os:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_device_user_os"
        carriers:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_device_carriers"
    property_AdsReportMetrics_campaign_targeting_language_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_language_locale_ids:
      type: array
      items:
        type: number
    property_AdsReportMetrics_campaign_targeting_language:
      type: object
      properties:
        codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_language_codes"
        locale_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_language_locale_ids"
      description: Language targeting (Meta
    property_AdsReportMetrics_campaign_targeting_content_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsReportMetrics_campaign_targeting_content_excluded_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsReportMetrics_campaign_targeting_content_topics:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_excluded_topics:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_urls:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_excluded_urls:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_video_youtube_videos:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_video_excluded_youtube_videos:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_video_youtube_channels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_video_excluded_youtube_channels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_content_video_positions:
      type: array
      items:
        type: string
        enum:
          - PREROLL
          - MIDROLL
          - POSTROLL
          - INSTREAM
          - OUTSTREAM
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_content_video_player_sizes:
      type: array
      items:
        type: string
        enum:
          - SMALL
          - LARGE
          - HD
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_content_video_durations:
      type: array
      items:
        type: string
        enum:
          - SHORT
          - MEDIUM
          - LONG
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_content_video:
      type: object
      properties:
        youtube_videos:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_youtube_videos"
        excluded_youtube_videos:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_excluded_youtube_videos"
        youtube_channels:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_youtube_channels"
        excluded_youtube_channels:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_excluded_youtube_channels"
        positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_positions"
        player_sizes:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_player_sizes"
        durations:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video_durations"
    property_AdsReportMetrics_campaign_targeting_content:
      type: object
      properties:
        keywords:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_keywords"
        excluded_keywords:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_excluded_keywords"
        topics:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_topics"
        excluded_topics:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_excluded_topics"
        urls:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_urls"
        excluded_urls:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_excluded_urls"
        video:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content_video"
    property_AdsReportMetrics_campaign_targeting_brand_safety_excluded_publisher_categories:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_brand_safety_excluded_content_labels:
      type: array
      items:
        type: string
      description: Google Ads ContentLabelType
    property_AdsReportMetrics_campaign_targeting_brand_safety_brand_safety_content_filter_levels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_brand_safety_publisher_visibility_categories:
      type: array
      items:
        type: string
        enum:
          - limited
          - standard
          - expanded
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_campaign_targeting_brand_safety_block_list_ids:
      type: array
      items:
        type: string
    property_AdsReportMetrics_campaign_targeting_brand_safety:
      type: object
      properties:
        excluded_publisher_categories:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety_excluded_publisher_categories"
        excluded_content_labels:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety_excluded_content_labels"
        brand_safety_content_filter_levels:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety_brand_safety_content_filter_levels"
        publisher_visibility_categories:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety_publisher_visibility_categories"
        block_list_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety_block_list_ids"
      description: "Brand safety (Meta: excluded_publisher_categories, etc.; Google"
    property_AdsReportMetrics_campaign_targeting_schedule:
      type: array
      items:
        $ref: "#/components/schemas/AdSchedule"
    property_AdsReportMetrics_campaign_targeting_optimization:
      type: object
      properties:
        mode:
          type: string
          enum:
            - TARGETING
            - OBSERVATION
          x-speakeasy-unknown-values: allow
        advantage_audience:
          type: boolean
        advantage_placements:
          type: boolean
        targeting_optimization_expansion_all:
          type: boolean
      description: "Optimization (Meta: targeting_automation; Google: observation vs targeting mode)"
    property_AdsReportMetrics_campaign_targeting:
      type: object
      properties:
        geographic:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_geographic"
        demographic:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_demographic"
        audience:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_audience"
        placement:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_placement"
        device:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_device"
        language:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_language"
        content:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_content"
        brand_safety:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_brand_safety"
        schedule:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_schedule"
        optimization:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting_optimization"
    property_AdsReportMetrics_campaign_frequency_cap:
      type: object
      properties:
        is_unlimited:
          type: boolean
        time_unit:
          type: string
          enum:
            - UNSPECIFIED
            - LIFETIME
            - MONTHS
            - WEEKS
            - DAYS
            - HOURS
            - MINUTES
          x-speakeasy-unknown-values: allow
        time_unit_count:
          type: number
        max_impressions:
          type: number
        max_views:
          type: number
    property_AdsReportMetrics_campaign:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        organization_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
        budget_amount:
          type: number
        budget_period:
          type: string
          enum:
            - DAILY
            - MONTHLY
            - TOTAL
            - LIFETIME
          x-speakeasy-unknown-values: allow
        total_spend_amount:
          type: number
        targeting:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_targeting"
        goal:
          type: string
          enum:
            - UNSPECIFIED
            - BRAND_AWARENESS
            - REACH
            - WEBSITE_TRAFFIC
            - LEADS
            - SALES
            - APP_PROMOTION
          x-speakeasy-unknown-values: allow
        planned_spend_amount:
          type: number
        frequency_cap:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign_frequency_cap"
        advertising_channel_type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        campaign_budget_identifier:
          type: string
        currency:
          type: string
        category:
          type: string
        has_eu_political_ads:
          type: boolean
        raw:
          type: object
          additionalProperties: true
    property_AdsReportMetrics_group_targeting_geographic_countries:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsReportMetrics_group_targeting_geographic_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsReportMetrics_group_targeting_geographic_postal_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_us_dmas:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_excluded_countries:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_excluded_regions:
      type: array
      items:
        $ref: "#/components/schemas/RegionTarget"
    property_AdsReportMetrics_group_targeting_geographic_excluded_cities:
      type: array
      items:
        $ref: "#/components/schemas/CityTarget"
    property_AdsReportMetrics_group_targeting_geographic_excluded_postal_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_excluded_us_dmas:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_geographic_location_types:
      type: array
      items:
        type: string
        enum:
          - HOME
          - RECENT
          - TRAVEL
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_geographic:
      type: object
      properties:
        countries:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_countries"
        regions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_regions"
        cities:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_cities"
        postal_codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_postal_codes"
        us_dmas:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_us_dmas"
        excluded_countries:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_excluded_countries"
        excluded_regions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_excluded_regions"
        excluded_cities:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_excluded_cities"
        excluded_postal_codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_excluded_postal_codes"
        excluded_us_dmas:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_excluded_us_dmas"
        location_types:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic_location_types"
        presence_type:
          type: string
          enum:
            - PRESENCE
            - PRESENCE_OR_INTEREST
          x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_demographic:
      type: object
      properties:
        age_min:
          type: number
        age_max:
          type: number
        male:
          type: boolean
        female:
          type: boolean
      description: "Demographic targeting (Meta: age_min, age_max, genders)"
    property_AdsReportMetrics_group_targeting_audience_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_excluded_custom_audiences:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_lookalike_audiences:
      type: array
      items:
        $ref: "#/components/schemas/LookalikeAudience"
    property_AdsReportMetrics_group_targeting_audience_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_excluded_interests:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_excluded_behaviors:
      type: array
      items:
        $ref: "#/components/schemas/AudienceSegment"
    property_AdsReportMetrics_group_targeting_audience_combination_spec:
      type: array
      items:
        $ref: "#/components/schemas/AudienceCombination"
    property_AdsReportMetrics_group_targeting_audience:
      type: object
      properties:
        custom_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_custom_audiences"
        excluded_custom_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_excluded_custom_audiences"
        lookalike_audiences:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_lookalike_audiences"
        interests:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_interests"
        excluded_interests:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_excluded_interests"
        behaviors:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_behaviors"
        excluded_behaviors:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_excluded_behaviors"
        combination_spec:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience_combination_spec"
    property_AdsReportMetrics_group_targeting_placement_platforms:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_placement_facebook_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_placement_instagram_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_placement_messenger_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_placement_audience_network_positions:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_placement:
      type: object
      properties:
        platforms:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement_platforms"
        facebook_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement_facebook_positions"
        instagram_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement_instagram_positions"
        messenger_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement_messenger_positions"
        audience_network_positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement_audience_network_positions"
    property_AdsReportMetrics_group_targeting_device_types:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_device_user_device:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_device_user_os:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_device_carriers:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_device:
      type: object
      properties:
        types:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_device_types"
        user_device:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_device_user_device"
        user_os:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_device_user_os"
        carriers:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_device_carriers"
    property_AdsReportMetrics_group_targeting_language_codes:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_language_locale_ids:
      type: array
      items:
        type: number
    property_AdsReportMetrics_group_targeting_language:
      type: object
      properties:
        codes:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_language_codes"
        locale_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_language_locale_ids"
      description: Language targeting (Meta
    property_AdsReportMetrics_group_targeting_content_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsReportMetrics_group_targeting_content_excluded_keywords:
      type: array
      items:
        $ref: "#/components/schemas/AdsKeyword"
    property_AdsReportMetrics_group_targeting_content_topics:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_excluded_topics:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_urls:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_excluded_urls:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_video_youtube_videos:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_video_excluded_youtube_videos:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_video_youtube_channels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_video_excluded_youtube_channels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_content_video_positions:
      type: array
      items:
        type: string
        enum:
          - PREROLL
          - MIDROLL
          - POSTROLL
          - INSTREAM
          - OUTSTREAM
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_content_video_player_sizes:
      type: array
      items:
        type: string
        enum:
          - SMALL
          - LARGE
          - HD
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_content_video_durations:
      type: array
      items:
        type: string
        enum:
          - SHORT
          - MEDIUM
          - LONG
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_content_video:
      type: object
      properties:
        youtube_videos:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_youtube_videos"
        excluded_youtube_videos:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_excluded_youtube_videos"
        youtube_channels:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_youtube_channels"
        excluded_youtube_channels:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_excluded_youtube_channels"
        positions:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_positions"
        player_sizes:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_player_sizes"
        durations:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video_durations"
    property_AdsReportMetrics_group_targeting_content:
      type: object
      properties:
        keywords:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_keywords"
        excluded_keywords:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_excluded_keywords"
        topics:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_topics"
        excluded_topics:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_excluded_topics"
        urls:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_urls"
        excluded_urls:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_excluded_urls"
        video:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content_video"
    property_AdsReportMetrics_group_targeting_brand_safety_excluded_publisher_categories:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_brand_safety_excluded_content_labels:
      type: array
      items:
        type: string
      description: Google Ads ContentLabelType
    property_AdsReportMetrics_group_targeting_brand_safety_brand_safety_content_filter_levels:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_brand_safety_publisher_visibility_categories:
      type: array
      items:
        type: string
        enum:
          - limited
          - standard
          - expanded
        x-speakeasy-unknown-values: allow
    property_AdsReportMetrics_group_targeting_brand_safety_block_list_ids:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_targeting_brand_safety:
      type: object
      properties:
        excluded_publisher_categories:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety_excluded_publisher_categories"
        excluded_content_labels:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety_excluded_content_labels"
        brand_safety_content_filter_levels:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety_brand_safety_content_filter_levels"
        publisher_visibility_categories:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety_publisher_visibility_categories"
        block_list_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety_block_list_ids"
      description: "Brand safety (Meta: excluded_publisher_categories, etc.; Google"
    property_AdsReportMetrics_group_targeting_schedule:
      type: array
      items:
        $ref: "#/components/schemas/AdSchedule"
    property_AdsReportMetrics_group_targeting_optimization:
      type: object
      properties:
        mode:
          type: string
          enum:
            - TARGETING
            - OBSERVATION
          x-speakeasy-unknown-values: allow
        advantage_audience:
          type: boolean
        advantage_placements:
          type: boolean
        targeting_optimization_expansion_all:
          type: boolean
      description: "Optimization (Meta: targeting_automation; Google: observation vs targeting mode)"
    property_AdsReportMetrics_group_targeting:
      type: object
      properties:
        geographic:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_geographic"
        demographic:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_demographic"
        audience:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_audience"
        placement:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_placement"
        device:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_device"
        language:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_language"
        content:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_content"
        brand_safety:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_brand_safety"
        schedule:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_schedule"
        optimization:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting_optimization"
    property_AdsReportMetrics_group_bid_strategy:
      type: object
      properties:
        type:
          type: string
          enum:
            - FIXED_BID
            - MAXIMIZE_SPEND
            - PERFORMANCE_GOAL
            - YOUTUBE_AND_PARTNERS
          x-speakeasy-unknown-values: allow
        fixed_bid_amount:
          type: number
        performance_goal_type:
          type: string
          enum:
            - UNSPECIFIED
            - CPA
            - CPC
            - VIEWABLE_CPM
            - CUSTOM_ALGO
            - CIVA
            - IVO_TEN
            - AV_VIEWED
            - REACH
          x-speakeasy-unknown-values: allow
        performance_goal_amount:
          type: number
        max_average_cpm_bid_amount:
          type: number
        custom_bidding_algorithm_id:
          type: string
        raise_bid_for_deals:
          type: boolean
        youtube_and_partners_type:
          type: string
          enum:
            - UNSPECIFIED
            - MANUAL_CPV
            - MANUAL_CPM
            - TARGET_CPA
            - TARGET_CPM
            - RESERVE_CPM
            - MAXIMIZE_LIFT
            - MAXIMIZE_CONVERSIONS
            - TARGET_CPV
            - TARGET_ROAS
            - MAXIMIZE_CONVERSION_VALUE
          x-speakeasy-unknown-values: allow
        youtube_and_partners_value:
          type: string
        target_roas:
          type: number
      required:
        - type
      description: YOUTUBE_AND_PARTNERS
    property_AdsReportMetrics_group_pacing:
      type: object
      properties:
        period:
          type: string
          enum:
            - UNSPECIFIED
            - DAILY
            - FLIGHT
          x-speakeasy-unknown-values: allow
        type:
          type: string
        daily_max_amount:
          type: number
        daily_max_impressions:
          type: number
    property_AdsReportMetrics_group_frequency_cap:
      type: object
      properties:
        is_unlimited:
          type: boolean
        time_unit:
          type: string
          enum:
            - UNSPECIFIED
            - LIFETIME
            - MONTHS
            - WEEKS
            - DAYS
            - HOURS
            - MINUTES
          x-speakeasy-unknown-values: allow
        time_unit_count:
          type: number
        max_impressions:
          type: number
        max_views:
          type: number
    property_AdsReportMetrics_group_creative_ids:
      type: array
      items:
        type: string
    property_AdsReportMetrics_group_promoted:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
    property_AdsReportMetrics_group:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        parent_id:
          type: string
        campaign_id:
          type: string
        organization_id:
          type: string
        insertionorder_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        targeting:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_targeting"
        bid_amount:
          type: number
        bid_strategy:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_bid_strategy"
        budget_amount:
          type: number
        budget_period:
          type: string
          enum:
            - DAILY
            - MONTHLY
            - TOTAL
            - LIFETIME
          x-speakeasy-unknown-values: allow
        budget_allocation_type:
          type: string
          enum:
            - UNSPECIFIED
            - AUTOMATIC
            - FIXED
            - UNLIMITED
          x-speakeasy-unknown-values: allow
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
        budget_unit:
          type: string
          enum:
            - UNSPECIFIED
            - CURRENCY
            - IMPRESSIONS
          x-speakeasy-unknown-values: allow
        budget_max_amount:
          type: number
        type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        has_eu_political_ads:
          type: boolean
        pacing:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_pacing"
        frequency_cap:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_frequency_cap"
        creative_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_creative_ids"
        optimization_goal:
          type: string
          enum:
            - REACH
            - IMPRESSIONS
            - LINK_CLICKS
            - LANDING_PAGE_VIEWS
            - CONVERSIONS
            - LEAD_GENERATION
            - APP_INSTALLS
            - APP_ENGAGEMENT
            - VIDEO_VIEWS
            - ENGAGEMENT
            - PAGE_LIKES
            - MESSAGES
          x-speakeasy-unknown-values: allow
        billing_event:
          type: string
          enum:
            - IMPRESSIONS
            - LINK_CLICKS
            - VIDEO_VIEWS
            - APP_INSTALLS
            - ENGAGEMENT
            - PAGE_LIKES
            - MESSAGES
            - POST_ENGAGEMENT
            - PURCHASE
            - NONE
          x-speakeasy-unknown-values: allow
        currency:
          type: string
        promoted:
          $ref: "#/components/schemas/property_AdsReportMetrics_group_promoted"
        raw:
          type: object
          additionalProperties: true
    property_AdsReportMetrics_ad_creative_ids:
      type: array
      items:
        type: string
    property_AdsReportMetrics_ad_promoted:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
    property_AdsReportMetrics_ad:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        name:
          type: string
        campaign_id:
          type: string
        group_id:
          type: string
        organization_id:
          type: string
        status:
          type: string
          enum:
            - UNSPECIFIED
            - ACTIVE
            - PAUSED
            - ARCHIVED
            - DRAFT
            - SCHEDULED_FOR_DELETION
          x-speakeasy-unknown-values: allow
        ad_type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - RESPONSIVE
            - SHOPPING
            - APP
            - CALL
            - CAROUSEL
            - SOCIAL
            - DISPLAY
            - SEARCH
            - AUDIO
            - YOUTUBE
          x-speakeasy-unknown-values: allow
        creative_ids:
          $ref: "#/components/schemas/property_AdsReportMetrics_ad_creative_ids"
        creative_asset_url:
          type: string
        ad_copy:
          type: string
        headline:
          type: string
        description:
          type: string
        cta:
          type: string
        final_url:
          type: string
        display_url:
          type: string
        path1:
          type: string
        path2:
          type: string
        promoted:
          $ref: "#/components/schemas/property_AdsReportMetrics_ad_promoted"
        raw:
          type: object
          additionalProperties: true
    AdsReportMetrics:
      type: object
      properties:
        value:
          type: number
        type:
          type: string
          enum:
            - CLICKS
            - IMPRESSIONS
            - CONVERSIONS
            - COST
            - CTR
            - CPC
            - CONVERSION_VALUE
            - CPA
            - ROAS
            - CPM
            - ECPM
            - ENGAGEMENT
            - VIDEO_COMPLETIONS
            - VIDEO_VIEWS
            - LEADS
            - ENGAGEMENTS
            - SAVES
            - LIKES
            - SHARES
            - COMMENTS
            - FOLLOWS
          x-speakeasy-unknown-values: allow
        campaign:
          $ref: "#/components/schemas/property_AdsReportMetrics_campaign"
        group:
          $ref: "#/components/schemas/property_AdsReportMetrics_group"
        ad:
          $ref: "#/components/schemas/property_AdsReportMetrics_ad"
    property_AdsReport_metrics:
      type: array
      items:
        $ref: "#/components/schemas/AdsReportMetrics"
    AdsReport:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        currency:
          type: string
        metrics:
          $ref: "#/components/schemas/property_AdsReport_metrics"
        start_at:
          type: string
          format: date-time
        end_at:
          type: string
          format: date-time
        organization_id:
          type: string
        raw:
          type: object
          additionalProperties: true
    AdsReports:
      type: array
      items:
        $ref: "#/components/schemas/AdsReport"
    AdsTarget:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        value:
          type: string
        type:
          type: string
          enum:
            - interests
            - behaviors
            - locales
            - countries
            - regions
            - cities
            - zips
            - us_dmas
            - topics
            - user_lists
            - age_ranges
            - genders
          x-speakeasy-unknown-values: allow
        raw:
          type: object
          additionalProperties: true
      required:
        - id
        - value
      description: Targeting search result (for ads_target list endpoint)
    AdsTargets:
      type: array
      items:
        $ref: "#/components/schemas/AdsTarget"
    AdsPromoteds:
      type: array
      items:
        $ref: "#/components/schemas/AdsPromoted"
paths:
  /ads/{connection_id}/organization:
    post:
      summary: Create an organization
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - currency
                - timezone
                - parent_id
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - organization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsOrganization"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsOrganization"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsOrganization
    get:
      summary: List all organizations
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: parent_id
          in: query
          required: false
          description: The parent ID to filter by
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - currency
                - timezone
                - parent_id
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - organization
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsOrganizations"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsOrganizations
  /ads/{connection_id}/organization/{id}:
    get:
      summary: Retrieve an organization
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - currency
                - timezone
                - parent_id
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Organization
          name: id
          in: path
          required: true
      tags:
        - ads
        - organization
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsOrganization"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsOrganization
    put:
      summary: Update an organization
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - currency
                - timezone
                - parent_id
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Organization
          name: id
          in: path
          required: true
      tags:
        - ads
        - organization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsOrganization"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsOrganization"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsOrganization
    patch:
      summary: Update an organization
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - currency
                - timezone
                - parent_id
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Organization
          name: id
          in: path
          required: true
      tags:
        - ads
        - organization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsOrganization"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsOrganization"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsOrganization
    delete:
      summary: Remove an organization
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Organization
          name: id
          in: path
          required: true
      tags:
        - ads
        - organization
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsOrganization
  /ads/{connection_id}/campaign:
    post:
      summary: Create a campaign
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - status
                - start_at
                - end_at
                - budget_amount
                - budget_period
                - total_spend_amount
                - targeting
                - goal
                - planned_spend_amount
                - frequency_cap
                - advertising_channel_type
                - campaign_budget_identifier
                - currency
                - category
                - has_eu_political_ads
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - campaign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCampaign"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCampaign"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsCampaign
    get:
      summary: List all campaigns
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - status
                - start_at
                - end_at
                - budget_amount
                - budget_period
                - total_spend_amount
                - targeting
                - goal
                - planned_spend_amount
                - frequency_cap
                - advertising_channel_type
                - campaign_budget_identifier
                - currency
                - category
                - has_eu_political_ads
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - campaign
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCampaigns"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsCampaigns
  /ads/{connection_id}/campaign/{id}:
    get:
      summary: Retrieve a campaign
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - status
                - start_at
                - end_at
                - budget_amount
                - budget_period
                - total_spend_amount
                - targeting
                - goal
                - planned_spend_amount
                - frequency_cap
                - advertising_channel_type
                - campaign_budget_identifier
                - currency
                - category
                - has_eu_political_ads
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Campaign
          name: id
          in: path
          required: true
      tags:
        - ads
        - campaign
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCampaign"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsCampaign
    put:
      summary: Update a campaign
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - status
                - start_at
                - end_at
                - budget_amount
                - budget_period
                - total_spend_amount
                - targeting
                - goal
                - planned_spend_amount
                - frequency_cap
                - advertising_channel_type
                - campaign_budget_identifier
                - currency
                - category
                - has_eu_political_ads
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Campaign
          name: id
          in: path
          required: true
      tags:
        - ads
        - campaign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCampaign"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCampaign"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsCampaign
    patch:
      summary: Update a campaign
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - status
                - start_at
                - end_at
                - budget_amount
                - budget_period
                - total_spend_amount
                - targeting
                - goal
                - planned_spend_amount
                - frequency_cap
                - advertising_channel_type
                - campaign_budget_identifier
                - currency
                - category
                - has_eu_political_ads
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Campaign
          name: id
          in: path
          required: true
      tags:
        - ads
        - campaign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCampaign"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCampaign"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsCampaign
    delete:
      summary: Remove a campaign
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Campaign
          name: id
          in: path
          required: true
      tags:
        - ads
        - campaign
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsCampaign
  /ads/{connection_id}/creative:
    post:
      summary: Create a creative
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - item_id
                - organization_id
                - status
                - creative_type
                - hosting_source
                - width
                - height
                - asset_urls
                - link_url
                - body
                - title
                - cta
                - third_party_tag
                - vast_tag_url
                - external_creative_reference
                - external_placement_reference
                - external_ad_reference
                - promoted
                - path1
                - path2
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - creative
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCreative"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCreative"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsCreative
    get:
      summary: List all creatives
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: group_id
          in: query
          required: false
          description: The group ID to filter by (reference to AdsGroup)
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - item_id
                - organization_id
                - status
                - creative_type
                - hosting_source
                - width
                - height
                - asset_urls
                - link_url
                - body
                - title
                - cta
                - third_party_tag
                - vast_tag_url
                - external_creative_reference
                - external_placement_reference
                - external_ad_reference
                - promoted
                - path1
                - path2
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - creative
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCreatives"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsCreatives
  /ads/{connection_id}/creative/{id}:
    get:
      summary: Retrieve a creative
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - item_id
                - organization_id
                - status
                - creative_type
                - hosting_source
                - width
                - height
                - asset_urls
                - link_url
                - body
                - title
                - cta
                - third_party_tag
                - vast_tag_url
                - external_creative_reference
                - external_placement_reference
                - external_ad_reference
                - promoted
                - path1
                - path2
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Creative
          name: id
          in: path
          required: true
      tags:
        - ads
        - creative
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCreative"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsCreative
    put:
      summary: Update a creative
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - item_id
                - organization_id
                - status
                - creative_type
                - hosting_source
                - width
                - height
                - asset_urls
                - link_url
                - body
                - title
                - cta
                - third_party_tag
                - vast_tag_url
                - external_creative_reference
                - external_placement_reference
                - external_ad_reference
                - promoted
                - path1
                - path2
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Creative
          name: id
          in: path
          required: true
      tags:
        - ads
        - creative
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCreative"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCreative"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsCreative
    patch:
      summary: Update a creative
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - item_id
                - organization_id
                - status
                - creative_type
                - hosting_source
                - width
                - height
                - asset_urls
                - link_url
                - body
                - title
                - cta
                - third_party_tag
                - vast_tag_url
                - external_creative_reference
                - external_placement_reference
                - external_ad_reference
                - promoted
                - path1
                - path2
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Creative
          name: id
          in: path
          required: true
      tags:
        - ads
        - creative
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsCreative"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsCreative"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsCreative
    delete:
      summary: Remove a creative
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Creative
          name: id
          in: path
          required: true
      tags:
        - ads
        - creative
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsCreative
  /ads/{connection_id}/insertionorder:
    post:
      summary: Create an insertionorder
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - campaign_id
                - status
                - pacing
                - frequency_cap
                - kpi
                - budget_unit
                - budget_segments
                - bid_strategy
                - reference
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsInsertionorder"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsInsertionorder"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsInsertionorder
    get:
      summary: List all insertionorders
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: campaign_id
          in: query
          required: false
          description: The campaign ID to filter by
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - campaign_id
                - status
                - pacing
                - frequency_cap
                - kpi
                - budget_unit
                - budget_segments
                - bid_strategy
                - reference
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsInsertionorders"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsInsertionorders
  /ads/{connection_id}/insertionorder/{id}:
    get:
      summary: Retrieve an insertionorder
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - campaign_id
                - status
                - pacing
                - frequency_cap
                - kpi
                - budget_unit
                - budget_segments
                - bid_strategy
                - reference
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Insertionorder
          name: id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsInsertionorder"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsInsertionorder
    put:
      summary: Update an insertionorder
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - campaign_id
                - status
                - pacing
                - frequency_cap
                - kpi
                - budget_unit
                - budget_segments
                - bid_strategy
                - reference
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Insertionorder
          name: id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsInsertionorder"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsInsertionorder"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsInsertionorder
    patch:
      summary: Update an insertionorder
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - organization_id
                - campaign_id
                - status
                - pacing
                - frequency_cap
                - kpi
                - budget_unit
                - budget_segments
                - bid_strategy
                - reference
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Insertionorder
          name: id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsInsertionorder"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsInsertionorder"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsInsertionorder
    delete:
      summary: Remove an insertionorder
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Insertionorder
          name: id
          in: path
          required: true
      tags:
        - ads
        - insertionorder
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsInsertionorder
  /ads/{connection_id}/group:
    post:
      summary: Create a group
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - parent_id
                - campaign_id
                - organization_id
                - insertionorder_id
                - status
                - targeting
                - bid_amount
                - bid_strategy
                - budget_amount
                - budget_period
                - budget_allocation_type
                - start_at
                - end_at
                - budget_unit
                - budget_max_amount
                - type
                - has_eu_political_ads
                - pacing
                - frequency_cap
                - creative_ids
                - optimization_goal
                - billing_event
                - currency
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsGroup"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsGroup
    get:
      summary: List all groups
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: campaign_id
          in: query
          required: false
          description: The campaign ID to filter by
        - schema:
            type: string
          name: parent_id
          in: query
          required: false
          description: The parent ID to filter by
        - schema:
            type: string
          name: io_id
          in: query
          required: false
          description: The IO ID to filter by
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - parent_id
                - campaign_id
                - organization_id
                - insertionorder_id
                - status
                - targeting
                - bid_amount
                - bid_strategy
                - budget_amount
                - budget_period
                - budget_allocation_type
                - start_at
                - end_at
                - budget_unit
                - budget_max_amount
                - type
                - has_eu_political_ads
                - pacing
                - frequency_cap
                - creative_ids
                - optimization_goal
                - billing_event
                - currency
                - promoted
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - group
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsGroups"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsGroups
  /ads/{connection_id}/group/{id}:
    get:
      summary: Retrieve a group
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - parent_id
                - campaign_id
                - organization_id
                - insertionorder_id
                - status
                - targeting
                - bid_amount
                - bid_strategy
                - budget_amount
                - budget_period
                - budget_allocation_type
                - start_at
                - end_at
                - budget_unit
                - budget_max_amount
                - type
                - has_eu_political_ads
                - pacing
                - frequency_cap
                - creative_ids
                - optimization_goal
                - billing_event
                - currency
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Group
          name: id
          in: path
          required: true
      tags:
        - ads
        - group
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsGroup"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsGroup
    put:
      summary: Update a group
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - parent_id
                - campaign_id
                - organization_id
                - insertionorder_id
                - status
                - targeting
                - bid_amount
                - bid_strategy
                - budget_amount
                - budget_period
                - budget_allocation_type
                - start_at
                - end_at
                - budget_unit
                - budget_max_amount
                - type
                - has_eu_political_ads
                - pacing
                - frequency_cap
                - creative_ids
                - optimization_goal
                - billing_event
                - currency
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Group
          name: id
          in: path
          required: true
      tags:
        - ads
        - group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsGroup"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsGroup
    patch:
      summary: Update a group
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - parent_id
                - campaign_id
                - organization_id
                - insertionorder_id
                - status
                - targeting
                - bid_amount
                - bid_strategy
                - budget_amount
                - budget_period
                - budget_allocation_type
                - start_at
                - end_at
                - budget_unit
                - budget_max_amount
                - type
                - has_eu_political_ads
                - pacing
                - frequency_cap
                - creative_ids
                - optimization_goal
                - billing_event
                - currency
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Group
          name: id
          in: path
          required: true
      tags:
        - ads
        - group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsGroup"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsGroup"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsGroup
    delete:
      summary: Remove a group
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Group
          name: id
          in: path
          required: true
      tags:
        - ads
        - group
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsGroup
  /ads/{connection_id}/ad:
    post:
      summary: Create an ad
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - organization_id
                - status
                - ad_type
                - creative_ids
                - creative_asset_url
                - ad_copy
                - headline
                - description
                - cta
                - final_url
                - display_url
                - path1
                - path2
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - ad
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsAd"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsAd"
          description: Successful
      security:
        - jwt: []
      operationId: createAdsAd
    get:
      summary: List all ads
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: campaign_id
          in: query
          required: false
          description: The campaign ID to filter by
        - schema:
            type: string
          name: group_id
          in: query
          required: false
          description: The group ID to filter by (reference to AdsGroup)
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - organization_id
                - status
                - ad_type
                - creative_ids
                - creative_asset_url
                - ad_copy
                - headline
                - description
                - cta
                - final_url
                - display_url
                - path1
                - path2
                - promoted
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - ad
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsAds"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsAds
  /ads/{connection_id}/ad/{id}:
    get:
      summary: Retrieve an ad
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - organization_id
                - status
                - ad_type
                - creative_ids
                - creative_asset_url
                - ad_copy
                - headline
                - description
                - cta
                - final_url
                - display_url
                - path1
                - path2
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Ad
          name: id
          in: path
          required: true
      tags:
        - ads
        - ad
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsAd"
          description: Successful
      security:
        - jwt: []
      operationId: getAdsAd
    put:
      summary: Update an ad
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - organization_id
                - status
                - ad_type
                - creative_ids
                - creative_asset_url
                - ad_copy
                - headline
                - description
                - cta
                - final_url
                - display_url
                - path1
                - path2
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Ad
          name: id
          in: path
          required: true
      tags:
        - ads
        - ad
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsAd"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsAd"
          description: Successful
      security:
        - jwt: []
      operationId: updateAdsAd
    patch:
      summary: Update an ad
      parameters:
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - name
                - campaign_id
                - group_id
                - organization_id
                - status
                - ad_type
                - creative_ids
                - creative_asset_url
                - ad_copy
                - headline
                - description
                - cta
                - final_url
                - display_url
                - path1
                - path2
                - promoted
                - raw
          name: fields
          in: query
          required: false
          type: array
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Ad
          name: id
          in: path
          required: true
      tags:
        - ads
        - ad
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AdsAd"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsAd"
          description: Successful
      security:
        - jwt: []
      operationId: patchAdsAd
    delete:
      summary: Remove an ad
      parameters:
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
        - schema:
            type: string
          description: ID of the Ad
          name: id
          in: path
          required: true
      tags:
        - ads
        - ad
      responses:
        "200":
          description: Successful
        default:
          headers:
            Content-Type:
              required: false
              schema:
                type: string
          content: {}
          description: Successful
      security:
        - jwt: []
      operationId: removeAdsAd
  /ads/{connection_id}/report:
    get:
      summary: List all reports
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: campaign_id
          in: query
          required: false
          description: The campaign ID to filter by
        - schema:
            type: string
          name: group_id
          in: query
          required: false
          description: The group ID to filter by (reference to AdsGroup)
        - schema:
            type: string
          name: ad_id
          in: query
          required: false
          description: The ad ID to filter by
        - schema:
            type: string
          name: type
          in: query
          required: false
        - schema:
            type: string
          name: start_gte
          in: query
          required: false
          description: The start date to filter by (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: end_lt
          in: query
          required: false
          description: The end date to filter by (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - created_at
                - updated_at
                - currency
                - metrics
                - start_at
                - end_at
                - organization_id
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - report
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsReports"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsReports
  /ads/{connection_id}/target:
    get:
      summary: List all targets
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: type
          in: query
          required: false
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - name
                - value
                - type
                - raw
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - target
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsTargets"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsTargets
  /ads/{connection_id}/promoted:
    get:
      summary: List all promoteds
      parameters:
        - schema:
            type: number
          name: limit
          in: query
          required: false
        - schema:
            type: number
          name: offset
          in: query
          required: false
        - schema:
            type: string
          name: updated_gte
          in: query
          required: false
          description: Return only results whose updated date is equal or greater to this value (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
        - schema:
            type: string
          name: sort
          in: query
          required: false
        - schema:
            type: string
          name: order
          in: query
          required: false
        - schema:
            type: string
          name: query
          in: query
          required: false
          description: Query string to search. eg. email address or name
        - schema:
            type: string
          name: org_id
          in: query
          required: false
          description: The org ID to filter by (reference to AdsOrganization)
        - schema:
            type: string
          name: type
          in: query
          required: false
        - schema:
            type: array
            items:
              type: string
              enum:
                - id
                - name
                - type
          name: fields
          in: query
          required: false
          description: Fields to return
        - schema:
            type: string
          name: raw
          in: query
          required: false
          description: "Raw parameters to include in the 3rd-party request. Encoded as a URL component. eg. raw parameters: foo=bar&zoo=bar -> raw=foo%3Dbar%26zoo%3Dbar"
        - schema:
            type: string
          description: ID of the connection
          name: connection_id
          in: path
          required: true
      tags:
        - ads
        - promoted
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AdsPromoteds"
          description: Successful
      security:
        - jwt: []
      operationId: listAdsPromoteds
