openapi: 3.0.3
info:
  title: Everflow Network API - Offers
  description: >
    Offer management endpoints for the Everflow partner marketing platform.
    Search, retrieve, and manage offers.
    For a full overview of offers, see the [Offer Fundamentals guide](https://helpdesk.everflow.io/customer/what-is-an-offer).
  version: 1.0.0
servers:
  - description: Production Server
    url: https://api.eflow.team/v1
tags:
  - name: Offers
    description: Endpoints for searching and managing offers.
paths:
  /networks/offerstable:
    post:
      summary: Find Offers (Advanced)
      tags:
        - Offers
      parameters:
        - in: query
          name: page
          schema:
            type: integer
            default: 1
          description: Page number (1-based).
        - in: query
          name: page_size
          schema:
            type: integer
            default: 50
            maximum: 2000
          description: Number of results per page (max 2000).
        - in: query
          name: relationship
          schema:
            type: string
            enum:
              - all
              - visibility
              - ruleset
              - tracking_domain
              - urls
              - affiliate_tier
              - account_manager
              - sales_manager
              - dmo
              - offer_description
              - forensiq
              - 24metrics
              - ipqualityscore
              - optizmo
              - unsubcentral
          description: >-
            Include related data in the response. Repeat for multiple relationships. Use `all` to include everything.
            `24metrics` and `ipqualityscore` populate `relationship.twentyfour_metrics` and
            `relationship.ip_quality_score`. An unrecognised value is ignored.
      requestBody:
        content:
          application/json:
            examples:
              active_offers:
                summary: "Fetch active offers"
                value:
                  search_terms:
                    - search_type: "name"
                      value: ""
                  filters:
                    offer_status: "active"
              private_cpa_by_name:
                summary: "Fetch private CPA offers by name"
                value:
                  search_terms:
                    - search_type: "name"
                      value: "insurance"
                  filters:
                    offer_status: "active"
                    visibility: "require_approval"
                    payout_type: "cpa"
              mobile_targeting:
                summary: "Fetch offers targeting phones and tablets"
                value:
                  search_terms:
                    - search_type: "name"
                      value: ""
                  filters:
                    offer_status: "active"
                    device_type_ids:
                      - 1
                      - 2
            schema:
              properties:
                search_terms:
                  type: array
                  description: Text search filters. Each entry searches a specific field.
                  items:
                    type: object
                    required:
                      - search_type
                      - value
                    properties:
                      search_type:
                        type: string
                        enum:
                          - name
                          - encoded_value
                          - advertiser_name
                        description: The field to search on.
                      value:
                        type: string
                        description: The search term.
                included_network_offer_ids:
                  type: array
                  items:
                    type: integer
                  description: Only return these specific offer IDs.
                excluded_network_offer_ids:
                  type: array
                  items:
                    type: integer
                  description: Exclude these specific offer IDs from results.
                included_offer_ids_overrides_other_filters:
                  type: boolean
                  description: When true, the included offer IDs override all other filters.
                filters:
                  type: object
                  description: Structured filters to narrow results.
                  properties:
                    network_advertiser_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by advertiser IDs.
                    network_offer_group_id:
                      type: integer
                      description: Filter by offer group ID.
                    network_category_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by category IDs.
                    offer_status:
                      type: string
                      enum:
                        - active
                        - paused
                        - pending
                        - deleted
                      description: Filter by offer status.
                    visibilities:
                      type: array
                      items:
                        type: string
                        enum:
                          - public
                          - require_approval
                          - private
                      description: Filter by visibility setting.
                    labels:
                      type: array
                      items:
                        type: string
                      description: Filter by label names.
                    business_unit_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by business unit IDs.
                    account_manager_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by account manager IDs.
                    sales_manager_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by sales manager IDs.
                    network_tracking_domain_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by tracking domain IDs.
                    network_channel_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by channel IDs.
                    revenue_types:
                      type: array
                      items:
                        type: string
                      description: Filter by revenue type.
                    payout_types:
                      type: array
                      items:
                        type: string
                      description: Filter by payout type.
                    country_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by targeted country IDs.
                    platform_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by targeted platform IDs.
                    device_type_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by targeted device type IDs.
                    network_advertiser_id:
                      type: integer
                      description: Filter by a single advertiser ID (legacy).
                    network_affiliate_tier_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by affiliate tier IDs.
                    demand_partner_ids:
                      type: array
                      items:
                        type: integer
                      description: Filter by demand partner IDs.
                    network_affiliate_id:
                      type: integer
                      description: Filter by affiliate ID.
                    affiliate_runnable_status:
                      type: string
                      enum:
                        - runnable
                        - blocked
                        - all
                      description: Filter by affiliate runnable status.
                    is_24_metrics_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by 24Metrics integration status.
                    is_forensiq_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by Forensiq integration status.
                    is_anura_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by Anura integration status.
                    is_ip_quality_score_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by IPQualityScore integration status.
                    is_ezepo_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by Ezepo integration status.
                    is_optizmo_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by Optizmo integration status.
                    is_unsubcentral_enabled:
                      type: string
                      enum:
                        - enabled
                        - disabled
                      description: Filter by UnsubCentral integration status.
              type: object
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  offers:
                    type: array
                    items:
                      type: object
                      properties:
                        network_offer_id:
                          type: integer
                          description: Unique offer ID.
                        network_id:
                          type: integer
                          description: Network ID.
                        network_advertiser_id:
                          type: integer
                          description: Advertiser that owns this offer.
                        network_offer_group_id:
                          type: integer
                          description: Offer group this offer belongs to.
                        name:
                          type: string
                          description: Offer name.
                        offer_status:
                          type: string
                          enum:
                            - active
                            - paused
                            - pending
                            - deleted
                          description: Current status of the offer.
                        thumbnail_url:
                          type: string
                          description: Offer thumbnail image URL.
                        visibility:
                          type: string
                          enum:
                            - public
                            - require_approval
                            - private
                          description: Offer visibility setting.
                        currency_id:
                          type: string
                          description: Currency used for this offer.
                        destination_url:
                          type: string
                          description: The destination URL where traffic is sent.
                        encoded_value:
                          type: string
                          description: Encoded offer ID for use in tracking links.
                        project_id:
                          type: string
                        is_force_terms_and_conditions:
                          type: boolean
                        labels:
                          type: array
                          items:
                            type: string
                          description: Labels applied to this offer.
                        payout:
                          type: string
                          description: 'Formatted payout string (e.g. "CPA: $0.900").'
                        revenue:
                          type: string
                          description: 'Formatted revenue string (e.g. "RPA: $0.900").'
                        caps_timezone_id:
                          type: integer
                        daily_conversion_cap:
                          type: integer
                        weekly_conversion_cap:
                          type: integer
                        monthly_conversion_cap:
                          type: integer
                        global_conversion_cap:
                          type: integer
                        daily_click_cap:
                          type: integer
                        weekly_click_cap:
                          type: integer
                        monthly_click_cap:
                          type: integer
                        global_click_cap:
                          type: integer
                        daily_payout_cap:
                          type: integer
                        weekly_payout_cap:
                          type: integer
                        monthly_payout_cap:
                          type: integer
                        global_payout_cap:
                          type: integer
                        daily_revenue_cap:
                          type: integer
                        weekly_revenue_cap:
                          type: integer
                        monthly_revenue_cap:
                          type: integer
                        global_revenue_cap:
                          type: integer
                        payout_percentage:
                          type: integer
                          description: Payout percentage for CPS/RPS payout types.
                        revenue_percentage:
                          type: integer
                          description: Revenue percentage for CPS/RPS revenue types.
                        category:
                          type: string
                          description: Category name for this offer.
                        channels:
                          type: array
                          description: Channels this offer belongs to.
                          items:
                            type: object
                        network_advertiser_name:
                          type: string
                          description: Name of the advertiser that owns this offer.
                        optimized_thumbnail_url:
                          type: string
                          description: Optimized thumbnail image URL.
                        payout_amount:
                          type: number
                          format: double
                          description: Default payout amount.
                        payout_type:
                          type: string
                          description: Default payout type (cpa, cpc, cpm, cps, etc).
                        revenue_amount:
                          type: number
                          format: double
                          description: Default revenue amount.
                        revenue_type:
                          type: string
                          description: Default revenue type (rpa, rpc, rpm, rps, etc).
                        today_clicks:
                          type: integer
                          description: Number of clicks today.
                        today_payout_amount:
                          type: number
                          format: double
                          description: Total payout amount today.
                        today_revenue:
                          type: string
                          description: Total revenue today (formatted string).
                        today_revenue_amount:
                          type: number
                          format: double
                          description: Total revenue amount today.
                        time_created:
                          type: integer
                          example: 1734455015
                          description: Unix timestamp of creation.
                        time_saved:
                          type: integer
                          example: 1734455015
                          description: Unix timestamp of last update.
                        relationship:
                          type: object
                          description: Related data returned with each offer entry.
                          properties:
                            remaining_caps:
                              type: object
                              description: Remaining cap values for the offer.
                            visibility:
                              type: object
                              description: Visibility settings for this offer.
                            ruleset:
                              type: object
                              description: Targeting ruleset for this offer.
                            tracking_domain:
                              type: object
                              description: Tracking domain for this offer.
                            urls:
                              type: object
                              description: Additional offer URLs.
                            affiliate_tier_infos:
                              type: array
                              description: Affiliate tier info entries.
                              items:
                                type: object
                            account_manager:
                              type: object
                              description: Account manager employee.
                            sales_manager:
                              type: object
                              description: Sales manager employee.
                            is_dmo:
                              type: boolean
                              description: Whether this offer is a DMO.
                            demand_partner:
                              type: object
                              description: Demand partner information.
                            forensiq:
                              type: object
                              description: Forensiq integration settings.
                            twentyfour_metrics:
                              type: object
                              description: 24Metrics integration settings.
                            ip_quality_score:
                              type: object
                              description: IPQualityScore integration settings.
                            optizmo:
                              type: object
                              description: Optizmo integration settings.
                            unsubcentral:
                              type: object
                              description: UnsubCentral integration settings.
                            offer_html_description:
                              type: string
                              description: Offer HTML description (with offer_description relationship).
                  paging:
                    type: object
                    properties:
                      page:
                        type: integer
                      page_size:
                        type: integer
                      total_count:
                        type: integer
      security:
        - API Key: []
  /networks/offers:
    post:
      summary: Create Offer
      tags:
        - Offers
      requestBody:
        required: true
        content:
          application/json:
            example:
              offer_status: "active"
              redirect_mode: "standard"
              conversion_method: "server_postback"
              session_definition: "cookie"
              network_advertiser_id: 13
              name: "My CPA Offer"
              network_category_id: 1
              destination_url: "https://example.com/offer?tid={transaction_id}"
              currency_id: "USD"
              network_tracking_domain_id: 1
              visibility: "public"
              payout_revenue:
                - payout_type: "cpa"
                  payout_amount: 2.50
                  revenue_type: "rpa"
                  revenue_amount: 4.00
                  is_default: true
            schema:
              $ref: "#/components/schemas/OfferRequestBody"
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Offer"
      security:
        - API Key: []
  /networks/offers/{offerId}:
    get:
      summary: Get Offer by ID
      tags:
        - Offers
      parameters:
        - in: path
          name: offerId
          required: true
          schema:
            type: integer
          description: The unique offer ID.
        - in: query
          name: relationship
          schema:
            type: string
            enum:
              - all
              - advertiser
              - application_questionnaire
              - offer_group
              - visibility
              - payoutrevenue
              - custom_cap_settings
              - custom_scrub_rate_settings
              - custom_payout_revenue_settings
              - custom_creative_settings
              - redirects
              - traffic_filters
              - targeting
              - files
              - audits
              - source_name
              - urls
              - active_urls
              - integrations
              - campaigns
              - reporting
              - advertiser_global_events
              - offer_email
              - offer_email_optout
          description: >-
            Include related data. Repeat for multiple relationships. Use `all` to include everything.
            `payoutrevenue` populates `relationship.payout_revenue`. An unrecognised value is ignored.
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                type: object
                properties:
                  network_offer_id:
                    type: integer
                    description: Unique offer ID.
                  network_id:
                    type: integer
                  network_advertiser_id:
                    type: integer
                    description: Advertiser that owns this offer.
                  network_offer_group_id:
                    type: integer
                    description: Offer group ID.
                  name:
                    type: string
                    description: Offer name.
                  offer_status:
                    type: string
                    enum:
                      - active
                      - paused
                      - pending
                      - deleted
                  thumbnail_url:
                    type: string
                  visibility:
                    type: string
                    enum:
                      - public
                      - require_approval
                      - private
                  currency_id:
                    type: string
                  destination_url:
                    type: string
                    description: Destination URL for the offer.
                  server_side_url:
                    type: string
                    description: Server-side postback URL.
                  preview_url:
                    type: string
                  html_description:
                    type: string
                    description: HTML description of the offer.
                  internal_notes:
                    type: string
                    description: Internal notes (not visible to affiliates).
                  network_category_id:
                    type: integer
                  project_id:
                    type: string
                  date_live_until:
                    type: string
                    description: Offer expiration date (YYYY-MM-DD).
                  conversion_method:
                    type: string
                    enum:
                      - server_postback
                      - http_image_pixel
                      - https_image_pixel
                      - http_iframe_pixel
                      - https_iframe_pixel
                      - javascript
                      - cookie_based
                      - html_pixel_cookie_based
                  redirect_mode:
                    type: string
                    enum:
                      - standard
                      - single_meta_refresh
                      - double_meta_refresh
                      - seo_friendly
                  session_definition:
                    type: string
                    enum:
                      - cookie
                      - ip
                      - ip_user_agent
                      - google_ad_id
                      - idfa
                  session_duration:
                    type: integer
                    description: Session duration in hours.
                  attribution_method:
                    type: string
                    enum:
                      - first_touch
                      - last_touch
                  is_caps_enabled:
                    type: boolean
                  daily_conversion_cap:
                    type: integer
                  weekly_conversion_cap:
                    type: integer
                  monthly_conversion_cap:
                    type: integer
                  global_conversion_cap:
                    type: integer
                  daily_payout_cap:
                    type: integer
                  weekly_payout_cap:
                    type: integer
                  monthly_payout_cap:
                    type: integer
                  global_payout_cap:
                    type: integer
                  daily_revenue_cap:
                    type: integer
                  weekly_revenue_cap:
                    type: integer
                  monthly_revenue_cap:
                    type: integer
                  global_revenue_cap:
                    type: integer
                  daily_click_cap:
                    type: integer
                  weekly_click_cap:
                    type: integer
                  monthly_click_cap:
                    type: integer
                  global_click_cap:
                    type: integer
                  is_use_scrub_rate:
                    type: boolean
                  scrub_rate_percentage:
                    type: integer
                  is_duplicate_filter_enabled:
                    type: boolean
                  is_block_already_converted:
                    type: boolean
                  is_use_secure_link:
                    type: boolean
                  is_allow_deep_link:
                    type: boolean
                  is_session_tracking_enabled:
                    type: boolean
                  session_tracking_lifespan_hour:
                    type: integer
                  session_tracking_minimum_lifespan_second:
                    type: integer
                  session_tracking_start_on:
                    type: string
                    enum:
                      - null_value
                      - impression
                      - click
                  is_whitelist_check_enabled:
                    type: boolean
                  is_using_suppression_list:
                    type: boolean
                  suppression_list_id:
                    type: integer
                  network_tracking_domain_id:
                    type: integer
                  caps_timezone_id:
                    type: integer
                  app_identifier:
                    type: string
                  is_description_plain_text:
                    type: boolean
                  terms_and_conditions:
                    type: string
                  is_force_terms_and_conditions:
                    type: boolean
                  is_using_explicit_terms_and_conditions:
                    type: boolean
                  redirect_routing_method:
                    type: string
                    enum:
                      - unknown
                      - internal
                      - null_value
                  redirect_internal_routing_type:
                    type: string
                    enum:
                      - unknown
                      - priority
                      - weight
                      - null_value
                      - priority_global
                      - weight_global
                  scrub_rate_status:
                    type: string
                    enum:
                      - rejected
                      - pending
                  duplicate_filter_targeting_action:
                    type: string
                    enum:
                      - unknown
                      - block
                      - fail_traffic
                  already_converted_action:
                    type: string
                    enum:
                      - unknown
                      - block
                      - fail_traffic
                  is_must_approve_conversion:
                    type: boolean
                  is_allow_duplicate_conversion:
                    type: boolean
                  is_use_direct_linking:
                    type: boolean
                  is_seo_friendly:
                    type: boolean
                  is_fail_traffic_enabled:
                    type: boolean
                  is_view_through_enabled:
                    type: boolean
                  is_view_through_session_tracking_enabled:
                    type: boolean
                  view_through_destination_url:
                    type: string
                  view_through_session_tracking_lifespan_minute:
                    type: integer
                  view_through_session_tracking_minimal_lifespan_second:
                    type: integer
                  is_email_attribution_enabled:
                    type: boolean
                  is_email_attribution_window_enabled:
                    type: boolean
                  email_attribution_method:
                    type: string
                    enum:
                      - first_affiliate_attribution
                      - last_affiliate_attribution
                  email_attribution_window_minute:
                    type: integer
                  email_attribution_window_type:
                    type: string
                    enum:
                      - static
                      - dynamic
                  is_soft_cap:
                    type: boolean
                  time_created:
                    type: integer
                    example: 1734455015
                  time_saved:
                    type: integer
                    example: 1734455015
                  relationship:
                    type: object
                    description: Related data returned with the offer.
                    properties:
                      advertiser:
                        type: object
                        description: Advertiser that owns this offer.
                        properties:
                          network_advertiser_id:
                            type: integer
                          network_id:
                            type: integer
                          name:
                            type: string
                          account_status:
                            type: string
                          network_employee_id:
                            type: integer
                          internal_notes:
                            type: string
                          address_id:
                            type: integer
                          is_contact_address_enabled:
                            type: boolean
                          sales_manager_id:
                            type: integer
                          is_expose_publisher_reporting_data:
                            type: boolean
                            nullable: true
                          default_currency_id:
                            type: string
                          platform_name:
                            type: string
                          platform_url:
                            type: string
                          platform_username:
                            type: string
                          reporting_timezone_id:
                            type: integer
                          accounting_contact_email:
                            type: string
                          verification_token:
                            type: string
                          offer_id_macro:
                            type: string
                          affiliate_id_macro:
                            type: string
                          time_created:
                            type: integer
                            example: 1734455015
                          time_saved:
                            type: integer
                            example: 1734455015
                          attribution_method:
                            type: string
                          email_attribution_method:
                            type: string
                          attribution_priority:
                            type: string
                      category:
                        type: object
                        description: Offer category.
                        properties:
                          network_category_id:
                            type: integer
                          network_id:
                            type: integer
                          name:
                            type: string
                          status:
                            type: string
                          time_created:
                            type: integer
                            example: 1734455015
                          time_saved:
                            type: integer
                            example: 1734455015
                      creatives:
                        type: object
                        description: Creatives associated with this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      traffic_filters:
                        type: object
                        description: Traffic filters configured for this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      labels:
                        type: object
                        description: Labels applied to this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      payout_revenue:
                        type: object
                        description: Payout and revenue configurations.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                              properties:
                                network_offer_payout_revenue_id:
                                  type: integer
                                network_id:
                                  type: integer
                                network_offer_id:
                                  type: integer
                                entry_name:
                                  type: string
                                payout_type:
                                  type: string
                                payout_amount:
                                  type: number
                                payout_percentage:
                                  type: number
                                revenue_type:
                                  type: string
                                revenue_amount:
                                  type: number
                                revenue_percentage:
                                  type: number
                                is_default:
                                  type: boolean
                                is_private:
                                  type: boolean
                                is_postback_disabled:
                                  type: boolean
                                is_enforce_caps:
                                  type: boolean
                                time_created:
                                  type: integer
                                  example: 1734455015
                                global_advertiser_event_id:
                                  type: integer
                                is_must_approve_conversion:
                                  type: boolean
                                is_allow_duplicate_conversion:
                                  type: boolean
                                is_email_attribution_default_event:
                                  type: boolean
                                remote_offer_resource:
                                  type: object
                                  description: Remote offer resource linked to this payout/revenue entry.
                                  properties:
                                    network_offer_id:
                                      type: integer
                                    network_id:
                                      type: integer
                                    resource_type:
                                      type: string
                                    remote_resource_id:
                                      type: string
                                    resource_id:
                                      type: integer
                                    last_value_md5:
                                      type: string
                                    json_config:
                                      type: string
                                    json_data:
                                      type: string
                                    time_created:
                                      type: integer
                                      example: 1734455015
                                    time_saved:
                                      type: integer
                                      example: 1734455015
                      custom_cap_settings:
                        type: object
                        description: Custom cap settings per affiliate.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      custom_scrub_rate_settings:
                        type: object
                        description: Custom scrub rate settings per affiliate.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      custom_payout_revenue_settings:
                        type: object
                        description: Custom payout/revenue settings per affiliate.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      reporting:
                        type: object
                        description: Aggregated reporting metrics for this offer.
                        properties:
                          imp:
                            type: integer
                          total_click:
                            type: integer
                          unique_click:
                            type: integer
                          invalid_click:
                            type: integer
                          duplicate_click:
                            type: integer
                          gross_click:
                            type: integer
                          ctr:
                            type: number
                          cv:
                            type: integer
                          invalid_cv_scrub:
                            type: integer
                          view_through_cv:
                            type: integer
                          total_cv:
                            type: integer
                          event:
                            type: integer
                          cvr:
                            type: number
                          evr:
                            type: number
                          cpc:
                            type: number
                          cpm:
                            type: number
                          cpa:
                            type: number
                          epc:
                            type: number
                          rpc:
                            type: number
                          rpa:
                            type: number
                          rpm:
                            type: number
                          payout:
                            type: number
                          revenue:
                            type: number
                          event_revenue:
                            type: number
                          gross_sales:
                            type: number
                          profit:
                            type: number
                          margin:
                            type: number
                          roas:
                            type: number
                          avg_sale_value:
                            type: number
                          media_buying_cost:
                            type: number
                          on_hold_potential_revenue:
                            type: number
                          on_hold_potential_payout:
                            type: number
                          on_hold_conversion_count:
                            type: integer
                          public_events:
                            type: integer
                      audits:
                        type: object
                        description: Audit log entries for this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      visibility:
                        type: object
                        description: Visibility settings controlling which affiliates can see or are blocked from the offer.
                        properties:
                          network_id:
                            type: integer
                          network_offer_id:
                            type: integer
                          network_affiliate_visible_ids:
                            type: array
                            items:
                              type: integer
                          network_affiliate_rejected_ids:
                            type: array
                            items:
                              type: integer
                          network_affiliate_hidden_ids:
                            type: array
                            items:
                              type: integer
                      integrations:
                        type: object
                        description: Third-party integration settings.
                        properties:
                          optizmo:
                            type: object
                            nullable: true
                          twentyfour_metrics:
                            type: object
                            nullable: true
                          offer_demand_partner:
                            type: object
                            nullable: true
                          forensiq:
                            type: object
                            nullable: true
                          ezepo:
                            type: object
                            nullable: true
                          anura:
                            type: object
                            nullable: true
                          invoca:
                            type: object
                            nullable: true
                          ip_quality_score:
                            type: object
                            nullable: true
                          unsubcentral:
                            type: object
                            nullable: true
                          ringba:
                            type: object
                            nullable: true
                          retreaver:
                            type: object
                            nullable: true
                      ruleset:
                        type: object
                        description: Targeting ruleset for this offer.
                        properties:
                          network_id:
                            type: integer
                          network_ruleset_id:
                            type: integer
                          time_created:
                            type: integer
                            example: 1734455015
                          time_saved:
                            type: integer
                            example: 1734455015
                          platforms:
                            type: array
                            items:
                              type: object
                          device_types:
                            type: array
                            items:
                              type: object
                          os_versions:
                            type: array
                            items:
                              type: object
                          browsers:
                            type: array
                            items:
                              type: object
                          languages:
                            type: array
                            items:
                              type: object
                          countries:
                            type: array
                            items:
                              type: object
                          regions:
                            type: array
                            items:
                              type: object
                          cities:
                            type: array
                            items:
                              type: object
                          dmas:
                            type: array
                            items:
                              type: object
                          mobile_carriers:
                            type: array
                            items:
                              type: object
                          connection_types:
                            type: array
                            items:
                              type: object
                          ips:
                            type: array
                            items:
                              type: object
                          is_block_proxy:
                            type: boolean
                          is_use_day_parting:
                            type: boolean
                          day_parting_apply_to:
                            type: string
                          day_parting_timezone_id:
                            type: integer
                          days_parting:
                            type: array
                            items:
                              type: object
                          isps:
                            type: array
                            items:
                              type: object
                          brands:
                            type: array
                            items:
                              type: object
                          postal_codes:
                            type: array
                            items:
                              type: object
                      source_names:
                        type: object
                        description: Pre-approved source names for this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      urls:
                        type: object
                        description: Additional offer URLs.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      encoded_value:
                        type: string
                        description: Encoded offer ID for use in tracking links.
                      remaining_caps:
                        type: object
                        description: Remaining cap values for the offer across all cap types.
                        properties:
                          remaining_daily_payout_cap:
                            type: number
                          remaining_daily_revenue_cap:
                            type: number
                          remaining_daily_conversion_cap:
                            type: number
                          remaining_daily_click_cap:
                            type: number
                          remaining_weekly_payout_cap:
                            type: number
                          remaining_weekly_revenue_cap:
                            type: number
                          remaining_weekly_conversion_cap:
                            type: number
                          remaining_weekly_click_cap:
                            type: number
                          remaining_monthly_payout_cap:
                            type: number
                          remaining_monthly_revenue_cap:
                            type: number
                          remaining_monthly_conversion_cap:
                            type: number
                          remaining_monthly_click_cap:
                            type: number
                          remaining_global_payout_cap:
                            type: number
                          remaining_global_revenue_cap:
                            type: number
                          remaining_global_conversion_cap:
                            type: number
                          remaining_global_click_cap:
                            type: number
                      is_locked_currency:
                        type: boolean
                        description: Whether the currency is locked for this offer.
                      is_locked_caps_timezone:
                        type: boolean
                        description: Whether the caps timezone is locked for this offer.
                      is_dmo:
                        type: boolean
                        description: Whether this offer is a DMO (Demand Marketplace Offer).
                      custom_creative_settings:
                        type: object
                        description: Custom creative settings per affiliate.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      channels:
                        type: object
                        description: Channels this offer belongs to.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      affiliate_tier_infos:
                        type: array
                        description: Affiliate tier info entries associated with this offer.
                        items:
                          type: object
                      thumbnail_asset:
                        type: object
                        description: Thumbnail asset for this offer.
                      suppression_file_asset:
                        type: object
                        description: Suppression file asset for this offer.
                      campaigns:
                        type: array
                        description: Campaigns that have this offer as a redirect.
                        items:
                          type: object
                      advertiser_global_events:
                        type: array
                        description: Global events defined by the advertiser.
                        items:
                          type: object
                      email:
                        type: object
                        description: Email settings for this offer.
                      email_optout:
                        type: object
                        description: Email optout settings for this offer.
                      application_questionnaire:
                        type: object
                        description: Application questionnaire for this offer.
                      network_application_questionnaire_id:
                        type: integer
                        description: ID of the application questionnaire.
                      offer_group:
                        type: object
                        description: Offer group this offer belongs to.
                      internal_redirects:
                        type: object
                        description: Internal redirect settings (only present when fail traffic is enabled).
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      meta:
                        type: object
                        description: App metadata for this offer.
                        properties:
                          network_offer_id:
                            type: integer
                          network_id:
                            type: integer
                          app_id:
                            type: string
                          meta_platform:
                            type: string
                          advertiser_campaign_name:
                            type: string
                          bundle_id:
                            type: string
                          category:
                            type: string
                          store_url:
                            type: string
                          score_rating:
                            type: number
                          total_rating:
                            type: number
                          size:
                            type: number
                          developer:
                            type: string
                          version:
                            type: string
                          is_app_unavailable:
                            type: boolean
                          time_created:
                            type: integer
                            example: 1734455015
                          time_app_data_saved:
                            type: integer
                            example: 1734455015
                          time_saved:
                            type: integer
                            example: 1734455015
                      requirement_kpis:
                        type: object
                        description: KPI requirements for this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
                      requirement_tracking_parameters:
                        type: object
                        description: Required tracking parameters for this offer.
                        properties:
                          total:
                            type: integer
                          entries:
                            type: array
                            items:
                              type: object
        "404":
          description: Offer not found.
      security:
        - API Key: []
    put:
      summary: Update Offer
      tags:
        - Offers
      parameters:
        - in: path
          name: offerId
          required: true
          schema:
            type: integer
          description: The unique offer ID.
      requestBody:
        required: true
        content:
          application/json:
            example:
              offer_status: "active"
              redirect_mode: "standard"
              conversion_method: "server_postback"
              session_definition: "cookie"
              network_advertiser_id: 13
              name: "My CPA Offer"
              network_category_id: 1
              destination_url: "https://example.com/offer?tid={transaction_id}"
              currency_id: "USD"
              network_tracking_domain_id: 1
              visibility: "public"
              payout_revenue:
                - payout_type: "cpa"
                  payout_amount: 2.50
                  revenue_type: "rpa"
                  revenue_amount: 4.00
                  is_default: true
            schema:
              $ref: "#/components/schemas/OfferRequestBody"
      responses:
        "200":
          description: ""
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Offer"
      security:
        - API Key: []
components:
  securitySchemes:
    API Key:
      description: The Everflow API key generated from the Control Center > Security.
      in: header
      name: X-Eflow-Api-Key
      type: apiKey
  schemas:
    OfferRequestBody:
      type: object
      required:
        - offer_status
        - redirect_mode
        - conversion_method
        - session_definition
        - session_duration
        - network_advertiser_id
        - name
        - network_category_id
        - destination_url
        - currency_id
        - network_tracking_domain_id
        - visibility
        - is_view_through_enabled
        - is_caps_enabled
        - is_using_suppression_list
        - is_duplicate_filter_enabled
        - duplicate_filter_targeting_action
        - is_use_secure_link
        - is_allow_deep_link
        - is_session_tracking_enabled
        - is_fail_traffic_enabled
        - redirect_internal_routing_type
        - is_using_explicit_terms_and_conditions
        - is_force_terms_and_conditions
        - is_must_approve_conversion
        - is_allow_duplicate_conversion
        - payout_revenue
      properties:
        network_advertiser_id:
          type: integer
          description: ID of the advertiser submitting the offer.
        name:
          type: string
          description: Offer name.
        destination_url:
          type: string
          description: URL of the final landing page associated with the offer, including additional macros if applicable.
        currency_id:
          type: string
          description: >
            Currency used to compute payouts, costs, and revenues of the offer. Must be a
            `currency_id` returned by the
            [List Currencies](/api-reference/get-metacurrencies) endpoint (ISO 4217 code,
            uppercase) - any other value is rejected with `Unsupported currency ID`.

            On update, the currency cannot be changed once the offer has recorded traffic in
            the last 30 days; doing so is rejected with
            `Could not change currency value on locked offer`.
        network_offer_group_id:
          type: integer
          description: Associated offer group.
        thumbnail_url:
          type: string
          description: URL of the image thumbnail associated with the offer, visible to network employees and affiliates.
        network_category_id:
          type: integer
          description: Category ID.
        internal_notes:
          type: string
          description: Notes on the offer for network employees. Not displayed to affiliates and advertisers.
        server_side_url:
          type: string
          description: Server-side URL that will be asynchronously fired by Everflow following a click.
        preview_url:
          type: string
          description: Landing page preview URL.
        html_description:
          type: string
          description: Description of the offer for the affiliates. HTML code is accepted.
        is_description_plain_text:
          type: boolean
          description: Whether the description of the offer should be interpreted as plain text (true) or HTML (false).
        offer_status:
          type: string
          enum:
            - active
            - paused
            - pending
            - deleted
          description: Offer status.
        visibility:
          type: string
          enum:
            - public
            - require_approval
            - private
          description: Visibility setting for affiliates. Can be `public`, `require_approval`, or `private`.
        project_id:
          type: string
          description: ID for the advertiser campaign or an Insertion Order.
        date_live_until:
          type: string
          description: "Date until when the offer can be run. Events occurring past the end of the day at the timezone of the network will be rejected. Format: YYYY-MM-DD."
        app_identifier:
          type: string
          description: Bundle ID for iOS / Android apps.
        labels:
          type: array
          items:
            type: string
          description: Labels used for organizing offers by private internal keywords.
        caps_timezone_id:
          type: integer
          description: ID of the timezone used for the caps if it differs from the network's default.
        network_tracking_domain_id:
          type: integer
          description: ID of the tracking domain hit by clicks belonging to the offer.
        conversion_method:
          type: string
          description: >
            Method used by the advertiser to fire tracking data to Everflow. The five legacy
            values (`http_image_pixel`, `https_image_pixel`, `cookie_based`,
            `http_iframe_pixel`, `https_iframe_pixel`) are accepted but silently normalized to
            `html_pixel_cookie_based`, so responses only ever return `server_postback`,
            `javascript` or `html_pixel_cookie_based`.
          enum:
            - server_postback
            - javascript
            - html_pixel_cookie_based
            - http_image_pixel
            - https_image_pixel
            - http_iframe_pixel
            - https_iframe_pixel
            - cookie_based
        redirect_mode:
          type: string
          enum:
            - standard
            - single_meta_refresh
            - double_meta_refresh
            - seo_friendly
          description: Setting used to obscure referrer URLs from advertisers. Non-standard modes (`single_meta_refresh`, `double_meta_refresh`) are not recommended as they cause click drop-off.
        redirect_routing_method:
          type: string
          enum:
            - internal
          description: >
            Only `internal` is accepted. The API returns `null_value` when no internal
            routing is configured for the offer - that value cannot be submitted here.
        session_definition:
          type: string
          enum:
            - cookie
            - ip
            - ip_user_agent
            - google_ad_id
            - idfa
          description: Method used for determining whether a click is unique.
        session_duration:
          type: integer
          description: Duration (in hours) of the active session used to match a click to a conversion. Defaults to 24.
        attribution_method:
          type: string
          description: >
            Attribution model for the offer. `first_touch` can only be used when
            `conversion_method` is `javascript` or `html_pixel_cookie_based`; the request is
            rejected otherwise.
          enum:
            - first_touch
            - last_touch
        is_soft_cap:
          type: boolean
          description: Whether soft caps are enabled for this offer.
        is_use_secure_link:
          type: boolean
          description: Whether tracking links use `https://` instead of `http://`. Validate with your account manager that SSL is enabled before using.
        is_seo_friendly:
          type: boolean
        is_allow_deep_link:
          type: boolean
          description: Whether affiliates can send their traffic to target URLs by adding `&url=[target URL]` to their tracking links, instead of the offer's destination URL.
        is_whitelist_check_enabled:
          type: boolean
          description: Whether a check is made to ensure conversion postbacks originate from the advertiser.
        is_use_direct_linking:
          type: boolean
          description: Whether Direct Linking is enabled for this offer.
        is_caps_enabled:
          type: boolean
          description: Whether caps are enabled. When `false`, voids all types of caps and custom caps.
        daily_conversion_cap:
          type: integer
          description: Maximum number of unique conversions per day.
        weekly_conversion_cap:
          type: integer
          description: Maximum conversions per week (Monday midnight to Sunday 23:59:59).
        monthly_conversion_cap:
          type: integer
          description: Maximum conversions per month.
        global_conversion_cap:
          type: integer
          description: Maximum total conversions for this offer.
        daily_payout_cap:
          type: number
          format: double
        weekly_payout_cap:
          type: number
          format: double
        monthly_payout_cap:
          type: number
          format: double
        global_payout_cap:
          type: number
          format: double
        daily_revenue_cap:
          type: number
          format: double
        weekly_revenue_cap:
          type: number
          format: double
        monthly_revenue_cap:
          type: number
          format: double
        global_revenue_cap:
          type: number
          format: double
        daily_click_cap:
          type: integer
        weekly_click_cap:
          type: integer
        monthly_click_cap:
          type: integer
        global_click_cap:
          type: integer
        is_duplicate_filter_enabled:
          type: boolean
          description: Whether duplicate clicks are filtered and acted upon, according to `duplicate_filter_targeting_action`.
        duplicate_filter_targeting_action:
          type: string
          enum:
            - block
            - fail_traffic
          description: >
            Action to take when a duplicate click is detected. Required and validated when
            `is_duplicate_filter_enabled` is `true` - an invalid value is rejected. Ignored when
            `false`; the API then returns `unknown` for this field, which cannot be submitted here.
        is_block_already_converted:
          type: boolean
          description: Whether clicks from users who have already converted on this offer are acted upon per `already_converted_action`.
        already_converted_action:
          type: string
          enum:
            - block
            - fail_traffic
          description: >
            Action to take for clicks from already-converted users. Required and validated when
            `is_block_already_converted` is `true` - an invalid value is rejected. Ignored when
            `false`; the API then returns `unknown` for this field, which cannot be submitted here.
        is_must_approve_conversion:
          type: boolean
          description: Whether conversions must be manually approved before being finalized.
        is_allow_duplicate_conversion:
          type: boolean
          description: Whether duplicate conversions are allowed.
        is_use_scrub_rate:
          type: boolean
          description: Whether a predefined percentage of conversions get automatically throttled (scrubbed). Only relevant if `is_must_approve_conversion` is `true`. This mechanism prevents an excessive number of conversions from being approved.
        scrub_rate_status:
          type: string
          enum:
            - rejected
            - pending
          description: >
            Status to apply to conversions affected by throttling. Required and validated when
            `is_use_scrub_rate` is `true` - an invalid value is rejected with `Invalid scrub rate
            status`. Ignored when `false`; the API then returns `null_value` for this field,
            which cannot be submitted here.
        scrub_rate_percentage:
          type: integer
          description: Percentage of conversions to automatically throttle. Only relevant if `is_use_scrub_rate` is `true`.
        is_view_through_enabled:
          type: boolean
          description: Whether conversions can be generated from impressions (as opposed to clicks only).
        view_through_destination_url:
          type: string
          description: URL of the final landing page when redirected from an impression, including additional macros if applicable. Only relevant if `is_view_through_enabled` is `true`.
        is_session_tracking_enabled:
          type: boolean
          description: Whether affiliate's conversions and payouts get automatically blocked based on a minimum and maximum time from the click to the associated conversion.
        session_tracking_lifespan_hour:
          type: integer
          description: Maximum hours between click and valid conversion. Required if `is_session_tracking_enabled` is `true`.
        session_tracking_minimum_lifespan_second:
          type: integer
          description: Minimum seconds between click and valid conversion. Required if `is_session_tracking_enabled` is `true`.
        is_fail_traffic_enabled:
          type: boolean
          description: Whether invalid clicks will be redirected to another offer.
        redirect_internal_routing_type:
          type: string
          enum:
            - priority
            - weight
            - priority_global
            - weight_global
          description: >
            Redirect mechanism that determines how fail traffic is distributed between listed offers.
            Can be `priority`, `weight`, `priority_global`, or `weight_global`.
            Only relevant when `is_fail_traffic_enabled` is `true`. The API returns
            `null_value` when this hasn't been configured; that value cannot be submitted here.
        is_using_suppression_list:
          type: boolean
          description: Whether an email suppression list is used for this offer.
        suppression_list_id:
          type: integer
          description: ID of the suppression list associated with the offer. Only relevant if `is_using_suppression_list` is `true`.
        is_view_through_session_tracking_enabled:
          type: boolean
          description: Whether affiliate's conversions and payouts get automatically blocked based on a minimum and maximum time from the impression to the associated conversion. Only relevant if `is_view_through_enabled` is `true`.
        view_through_session_tracking_lifespan_minute:
          type: integer
          description: Maximum interval of time (in minutes) between the impression event and a valid conversion or event. Required only if `is_view_through_session_tracking_enabled` is `true`.
        view_through_session_tracking_minimal_lifespan_second:
          type: integer
          description: Minimum seconds between impression and valid conversion. Only relevant if `is_view_through_session_tracking_enabled` is `true`.
        is_email_attribution_enabled:
          type: boolean
          description: Whether email attribution is enabled for this offer.
        email_attribution_method:
          type: string
          enum:
            - first_affiliate_attribution
            - last_affiliate_attribution
          description: >
            Method used for email attribution. Not required to enable email attribution (see
            `is_email_attribution_enabled`); when unset, the API returns `unknown` for this
            field, which cannot be submitted here.
        is_email_attribution_window_enabled:
          type: boolean
          description: Whether the email attribution window is enabled.
        email_attribution_window_minute:
          type: integer
          description: Duration (in minutes) of the email attribution window.
        email_attribution_window_type:
          type: string
          enum:
            - static
            - dynamic
          description: >
            Type of email attribution window. When unset, the API returns `unknown` for this
            field, which cannot be submitted here.
        is_using_explicit_terms_and_conditions:
          type: boolean
          description: Whether the offer uses specific Terms and Conditions. When `false`, defaults to the network's general Terms and Conditions.
        terms_and_conditions:
          type: string
          description: Text listing the specific Terms and Conditions of the offer. Required only if `is_using_explicit_terms_and_conditions` is `true`.
        is_force_terms_and_conditions:
          type: boolean
          description: Whether affiliates are required to accept the offer's specific Terms and Conditions.
        email:
          type: object
          description: Email compliance settings (approved subject and from lines).
          properties:
            is_enabled:
              type: boolean
              description: Whether approved subject and from lines are used.
            subject_lines:
              type: string
              description: Approved subject lines for emails.
            from_lines:
              type: string
              description: Approved from lines for emails.
        email_optout:
          type: object
          description: Email opt-out settings (suppression file and unsubscribe link).
          properties:
            is_enabled:
              type: boolean
              description: Whether the suppression file URL and unsubscribe link are used.
            suppression_file_link:
              type: string
              description: URL of the suppression file.
            unsub_link:
              type: string
              description: URL of the unsubscribe link.
        source_names:
          type: array
          items:
            type: string
          description: Pre-approved source names for this offer.
        thumbnail_file:
          type: object
          description: >
            Offer thumbnail image. Upload the file first via the Upload Temp File endpoint,
            then pass the `temp_url` and `original_file_name` here.
          properties:
            temp_url:
              type: string
              description: Temporary upload URL from the file upload endpoint.
            original_file_name:
              type: string
              description: Original filename of the uploaded file.
        suppression_file:
          type: object
          description: >
            Email suppression list file. Only relevant when `is_using_suppression_list` is
            `true`. Upload the file first via the Upload Temp File endpoint, then pass the
            `temp_url` and `original_file_name` here. Write-only - it is never returned.
          properties:
            temp_url:
              type: string
              description: Temporary upload URL from the file upload endpoint.
            original_file_name:
              type: string
              description: Original filename of the uploaded file.
        network_application_questionnaire_id:
          type: integer
          description: >
            Assign the offer to an existing application questionnaire. Only relevant when
            `visibility` is `require_approval`. The request is rejected if the questionnaire
            does not exist. Write-only - on read it is returned under
            `relationship.network_application_questionnaire_id`.
        meta:
          type: object
          description: Metadata fields for the offer.
          properties:
            advertiser_campaign_name:
              type: string
              description: Advertiser campaign name for tracking.
        channels:
          type: array
          description: Channels this offer belongs to.
          items:
            type: object
            properties:
              network_channel_id:
                type: integer
                description: Channel ID.
        integrations:
          type: object
          description: >
            Third-party integration settings. Each integration has its own
            configuration object.
          properties:
            optizmo:
              type: object
              description: Optizmo suppression list integration.
              properties:
                is_enabled:
                  type: boolean
                api_key:
                  type: string
                list_id:
                  type: string
            twentyfour_metrics:
              type: object
              description: 24Metrics fraud detection integration.
              properties:
                is_enabled:
                  type: boolean
                api_key:
                  type: string
            forensiq:
              type: object
              description: Forensiq fraud detection integration.
              properties:
                is_enabled:
                  type: boolean
                api_key:
                  type: string
            ezepo:
              type: object
              description: Ezepo integration.
              properties:
                is_enabled:
                  type: boolean
            anura:
              type: object
              description: Anura fraud detection integration.
              properties:
                is_enabled:
                  type: boolean
                instance_id:
                  type: string
            invoca:
              type: object
              description: Invoca call tracking integration.
              properties:
                is_enabled:
                  type: boolean
                campaign_id:
                  type: string
        ruleset:
          type: object
          description: >
            Targeting ruleset for this offer. Contains nested arrays for geographic,
            device, browser, and connection-type targeting. Each targeting entry includes
            an ID, `targeting_type` (`include` or `exclude`), and `match_type`.
            Sub-objects include: `platforms`, `device_types`, `os_versions`, `brands`,
            `browsers`, `languages`, `countries`, `regions`, `cities`, `dmas`,
            `mobile_carriers`, `isps`, `connection_types`, `ips`, `postal_codes`.
            Also supports day parting via `is_use_day_parting`, `day_parting_apply_to`,
            `day_parting_timezone_id`, and `days_parting` array.
        traffic_filters:
          type: array
          description: >
            Traffic control filters for this offer. Each filter specifies a URL parameter
            to match against.
          items:
            type: object
            properties:
              parameter:
                type: string
                description: Parameter on which to filter traffic. Can be `sub1`, `sub2`, `sub3`, `sub4`, `sub5`, `sub6`, `sub7`, `sub8`, `sub9`, `sub10`, `source_id`, `user_agent`, `referer`, `idfa`, `google_advertiser_id`, `http_accept_language`, or `creative_id`.
                enum:
                  - sub1
                  - sub2
                  - sub3
                  - sub4
                  - sub5
                  - sub6
                  - sub7
                  - sub8
                  - sub9
                  - sub10
                  - source_id
                  - user_agent
                  - referer
                  - idfa
                  - google_advertiser_id
                  - http_accept_language
                  - creative_id
              match_type:
                type: string
                description: Determines how the parameter values are matched. Can be `exact`, `minimum`, `maximum`, `contains`, `starts_with`, `range`, `ends_with`, `blank`, `does_not_match`, or `does_not_contain`.
                enum:
                  - exact
                  - minimum
                  - maximum
                  - contains
                  - starts_with
                  - range
                  - ends_with
                  - blank
                  - does_not_match
                  - does_not_contain
              value:
                type: string
                description: Value of the selected parameter to evaluate against incoming traffic.
              action:
                type: string
                description: Action to take if the incoming parameter value matches the provided `value` and `match_type`. Can be either `block` or `fail_traffic`.
                enum:
                  - block
                  - fail_traffic
        internal_redirects:
          type: array
          description: >
            Fail traffic redirect configuration. Determines where invalid clicks
            are sent when `is_fail_traffic_enabled` is `true`.
          items:
            type: object
            properties:
              network_offer_internal_redirect_id:
                type: integer
                description: >
                  ID of an existing redirect. Include it to update that redirect in place;
                  omit it to create a new one. Redirects not present in the array are removed.
              name:
                type: string
                description: Display name for the redirect.
              redirect_network_offer_id:
                type: integer
                description: ID of the offer to redirect the traffic to. One and only one of `redirect_network_offer_id`, `redirect_network_offer_group_id`, `redirect_network_campaign_id`, or `is_pass_through` must be provided.
              redirect_network_offer_url_id:
                type: integer
                description: ID of the offer URL to redirect the traffic to. Required only if `redirect_network_offer_id` is provided. Use value `0` for the default offer URL.
              redirect_network_offer_group_id:
                type: integer
                description: ID of the offer group to redirect the traffic to. One and only one of `redirect_network_offer_id`, `redirect_network_offer_group_id`, `redirect_network_campaign_id`, or `is_pass_through` must be provided.
              redirect_network_campaign_id:
                type: integer
                description: ID of the smart link to redirect the traffic to. One and only one of `redirect_network_offer_id`, `redirect_network_offer_group_id`, `redirect_network_campaign_id`, or `is_pass_through` must be provided.
              routing_value:
                type: integer
                description: The value used to determine priority or weight of the redirect. For `priority` or `priority_global`, this is the evaluation order starting with 1. For `weight` or `weight_global`, this is the proportional weight relative to the total of all redirects.
              is_pay_affiliate:
                type: boolean
                description: Whether the affiliate will receive the payout if traffic is sent to the redirect. Both `is_pay_affiliate` and `is_pass_through` cannot be `true`.
              is_pass_through:
                type: boolean
                description: Whether the fail traffic should be sent to the destination URL of the offer. Both `is_pay_affiliate` and `is_pass_through` cannot be `true`.
              categories:
                type: array
                items:
                  type: string
                  enum:
                    - traffic_filter
                    - traffic_control
                    - already_converted
                    - offer_expired
                    - geotargeting
                    - caps
                    - other
                description: "Additional requirements for a redirect to receive fail traffic. The reason for the invalid traffic must match one of the selected categories. Can be one or more of: `traffic_filter`, `traffic_control`, `already_converted`, `offer_expired`, `geotargeting`, `caps`, or `other`."
              is_apply_specific_affiliates:
                type: boolean
                description: Whether the redirect applies for the affiliates specified by `network_affiliate_ids` or for all affiliates.
              network_affiliate_ids:
                type: array
                items:
                  type: integer
                description: IDs of the affiliates for which this redirect applies. Only required if `is_apply_specific_affiliates` is `true`.
              ruleset:
                type: object
                description: >
                  Optional targeting ruleset restricting when this redirect applies. Uses the
                  same structure as the offer-level `ruleset`.
        creatives:
          type: array
          description: >
            Creatives to create alongside the offer. Each creative requires
            a name, type, and type-specific fields. This allows creating an offer
            and its creatives in a single API call.
          items:
            type: object
            properties:
              name:
                type: string
              creative_type:
                type: string
                enum:
                  - image
                  - html
                  - thumbnail
                  - email
                  - archive
                  - video
                  - text
                  - link
              is_private:
                type: boolean
              creative_status:
                type: string
                enum:
                  - active
                  - deleted
                  - paused
              html_code:
                type: string
              width:
                type: integer
              height:
                type: integer
              email_from:
                type: string
              email_subject:
                type: string
              email_subject_lines:
                type: string
                description: >
                  Newline-separated list of email subject lines. Supersedes `email_subject`
                  when sent. Omit the field to fall back to `email_subject`. Send an empty
                  string to clear all subject lines.
              email_from_lines:
                type: string
                description: >
                  Newline-separated list of email from-lines. Supersedes `email_from`
                  when sent. Omit the field to fall back to `email_from`. Send an empty
                  string to clear all from-lines.
              resource_url:
                type: string
                description: >
                  Direct URL of the creative resource. Use instead of `resource_file` when the
                  asset is already hosted elsewhere.
              additional_offer_ids:
                type: array
                items:
                  type: integer
                description: Other offers this creative should also be attached to.
              is_apply_specific_affiliates:
                type: boolean
                description: Whether the creative is limited to specific affiliates.
              network_offer_creative_id:
                type: integer
                description: >
                  ID of an existing creative. Include it to update that creative in place;
                  omit it to create a new one.
              resource_file:
                type: object
                description: >
                  Upload file for the creative. Only for `image`, `thumbnail`, `archive`,
                  or `video` creative types. Upload the file first via the Upload Temp File
                  endpoint, then pass the `temp_url` and `original_file_name` here.
                properties:
                  temp_url:
                    type: string
                    description: Temporary URL from the file upload endpoint.
                  original_file_name:
                    type: string
                    description: Original filename of the uploaded file.
              html_files:
                type: array
                description: >
                  Files attached to the creative. Only for `html` or `email` creative types.
                  Upload each file first via the Upload Temp File endpoint.
                items:
                  type: object
                  required:
                    - temp_url
                    - original_file_name
                  properties:
                    temp_url:
                      type: string
                      description: Temporary URL from the file upload endpoint.
                    original_file_name:
                      type: string
                      description: >
                        Filename used to generate the file macro (e.g. `Example File Name`
                        becomes `{{example_file_name}}`).
        requirement_kpis:
          type: array
          description: KPI requirements for this offer.
          items:
            type: object
            properties:
              kpi:
                type: string
                description: KPI description.
        requirement_tracking_parameters:
          type: array
          description: Required tracking parameters for this offer.
          items:
            type: object
            properties:
              tracking_parameter:
                type: string
                description: Parameter name.
              value:
                type: string
                description: Expected parameter value.
        payout_revenue:
          type: array
          items:
            type: object
            required:
              - entry_name
              - payout_type
              - payout_amount
              - payout_percentage
              - revenue_type
              - revenue_amount
              - revenue_percentage
              - is_default
              - is_private
              - is_postback_disabled
              - is_must_approve_conversion
              - is_allow_duplicate_conversion
            properties:
              network_offer_payout_revenue_id:
                type: integer
                description: >
                  ID of an existing payout/revenue entry. Include it to update that entry in
                  place; omit it to create a new one. Entries not present in the array are
                  removed.
              entry_name:
                type: string
                description: Name for the base conversion. Defaults to "Base".
              payout_type:
                type: string
                enum:
                  - cpa
                  - cpc
                  - cpm
                  - cps
                  - cpa_cps
                  - prv
                  - blank
                  - cpa_sku
                  - cps_sku
                  - cpa_cps_sku
                  - prv_sku
              payout_amount:
                type: number
                description: Amount of the payout. Not required if `payout_type` is `cps` or `prv`.
              payout_percentage:
                type: number
                description: Percentage of the payout. Only required if `payout_type` is `cps`, `cpa_cps`, or `prv`.
              revenue_type:
                type: string
                enum:
                  - rpa
                  - rpc
                  - rpm
                  - rps
                  - rpa_rps
                  - blank
                  - rpa_sku
                  - rps_sku
                  - rpa_rps_sku
              revenue_amount:
                type: number
                description: Amount of the revenue. Not required if `revenue_type` is `rps`.
              revenue_percentage:
                type: number
                description: Percentage of the revenue. Only required if `revenue_type` is `rps` or `rpa_rps`.
              is_default:
                type: boolean
                description: Whether this is the default payout/revenue entry. Must be `true` for the base conversion.
              is_private:
                type: boolean
                description: Whether the payout/revenue entry is private. Must be `false` for the base conversion.
              is_postback_disabled:
                type: boolean
                description: When enabled, prevents the partner's postback from being fired on a successful initial conversion. Useful when the base conversion is not tied to a payable action.
              is_enforce_caps:
                type: boolean
              is_must_approve_conversion:
                type: boolean
                description: When enabled, hides all conversions from partners and prevents their postbacks from being fired. These conversions can be viewed under Reporting > Conversions with status "Pending".
              is_allow_duplicate_conversion:
                type: boolean
                description: When enabled, allows partners to deliver multiple approved conversions from the same Transaction ID. If disabled, duplicate conversions are rejected and not payable to partners.
              global_advertiser_event_id:
                type: integer
                description: Links this entry to a global advertiser event.
              is_email_attribution_default_event:
                type: boolean
                description: >
                  Marks this entry as the default attribution event. Exactly one entry must
                  set this to `true` when `is_email_attribution_enabled` is `true`, otherwise
                  the request is rejected.
    Offer:
      type: object
      properties:
        network_offer_id:
          type: integer
          description: Unique offer ID.
        network_id:
          type: integer
        network_advertiser_id:
          type: integer
          description: Advertiser that owns this offer.
        network_offer_group_id:
          type: integer
          description: Offer group ID.
        name:
          type: string
          description: Offer name.
        offer_status:
          type: string
          enum:
            - active
            - paused
            - pending
            - deleted
        thumbnail_url:
          type: string
        visibility:
          type: string
          enum:
            - public
            - require_approval
            - private
        currency_id:
          type: string
        destination_url:
          type: string
          description: Destination URL for the offer.
        server_side_url:
          type: string
          description: Server-side postback URL.
        preview_url:
          type: string
        html_description:
          type: string
          description: HTML description of the offer.
        internal_notes:
          type: string
          description: Internal notes (not visible to affiliates).
        network_category_id:
          type: integer
        project_id:
          type: string
        date_live_until:
          type: string
          description: Offer expiration date (YYYY-MM-DD).
        conversion_method:
          type: string
          enum:
            - server_postback
            - http_image_pixel
            - https_image_pixel
            - http_iframe_pixel
            - https_iframe_pixel
            - javascript
            - cookie_based
            - html_pixel_cookie_based
        redirect_mode:
          type: string
          enum:
            - standard
            - single_meta_refresh
            - double_meta_refresh
            - seo_friendly
          description: Setting used to obscure referrer URLs from advertisers. Non-standard modes (`single_meta_refresh`, `double_meta_refresh`) are not recommended as they cause click drop-off.
        redirect_routing_method:
          type: string
          enum:
            - internal
            - null_value
          description: "`null_value` means no internal routing is configured; not a valid value on create/update."
        session_definition:
          type: string
          enum:
            - cookie
            - ip
            - ip_user_agent
            - google_ad_id
            - idfa
          description: Method used for determining whether a click is unique.
        session_duration:
          type: integer
          description: Session duration in hours.
        attribution_method:
          type: string
          enum:
            - first_touch
            - last_touch
        is_caps_enabled:
          type: boolean
        daily_conversion_cap:
          type: integer
        weekly_conversion_cap:
          type: integer
        monthly_conversion_cap:
          type: integer
        global_conversion_cap:
          type: integer
        daily_payout_cap:
          type: integer
        weekly_payout_cap:
          type: integer
        monthly_payout_cap:
          type: integer
        global_payout_cap:
          type: integer
        daily_revenue_cap:
          type: integer
        weekly_revenue_cap:
          type: integer
        monthly_revenue_cap:
          type: integer
        global_revenue_cap:
          type: integer
        daily_click_cap:
          type: integer
        weekly_click_cap:
          type: integer
        monthly_click_cap:
          type: integer
        global_click_cap:
          type: integer
        is_use_scrub_rate:
          type: boolean
        scrub_rate_percentage:
          type: integer
        is_duplicate_filter_enabled:
          type: boolean
        is_block_already_converted:
          type: boolean
        is_use_secure_link:
          type: boolean
        is_allow_deep_link:
          type: boolean
        is_session_tracking_enabled:
          type: boolean
        is_whitelist_check_enabled:
          type: boolean
        network_tracking_domain_id:
          type: integer
        caps_timezone_id:
          type: integer
        app_identifier:
          type: string
        labels:
          type: array
          items:
            type: string
        is_seo_friendly:
          type: boolean
        is_use_direct_linking:
          type: boolean
        is_view_through_enabled:
          type: boolean
        view_through_destination_url:
          type: string
        session_tracking_lifespan_hour:
          type: integer
        session_tracking_minimum_lifespan_second:
          type: integer
        is_fail_traffic_enabled:
          type: boolean
        redirect_internal_routing_type:
          type: string
          enum:
            - priority
            - weight
            - priority_global
            - weight_global
            - null_value
          description: "`null_value` means fail-traffic routing isn't configured; not a valid value on create/update."
        is_using_suppression_list:
          type: boolean
        suppression_list_id:
          type: integer
        is_using_explicit_terms_and_conditions:
          type: boolean
        terms_and_conditions:
          type: string
        is_force_terms_and_conditions:
          type: boolean
        is_must_approve_conversion:
          type: boolean
        is_allow_duplicate_conversion:
          type: boolean
        duplicate_filter_targeting_action:
          type: string
          enum:
            - unknown
            - block
            - fail_traffic
          description: "`unknown` means no duplicate-filter action is configured; not a valid value on create/update."
        already_converted_action:
          type: string
          enum:
            - unknown
            - block
            - fail_traffic
          description: "`unknown` means no already-converted action is configured; not a valid value on create/update."
        scrub_rate_status:
          type: string
          enum:
            - rejected
            - pending
            - null_value
          description: "`null_value` means scrubbing isn't configured; not a valid value on create/update."
        is_description_plain_text:
          type: boolean
        is_email_attribution_enabled:
          type: boolean
        email_attribution_method:
          type: string
          enum:
            - unknown
            - first_affiliate_attribution
            - last_affiliate_attribution
          description: "`unknown` means no email attribution method is set; not a valid value on create/update."
        is_email_attribution_window_enabled:
          type: boolean
        email_attribution_window_minute:
          type: integer
        email_attribution_window_type:
          type: string
          enum:
            - unknown
            - static
            - dynamic
          description: "`unknown` means no email attribution window type is set; not a valid value on create/update."
        is_view_through_session_tracking_enabled:
          type: boolean
        view_through_session_tracking_lifespan_minute:
          type: integer
          description: Maximum minutes between impression and valid conversion.
        view_through_session_tracking_minimal_lifespan_second:
          type: integer
          description: Minimum seconds between impression and valid conversion.
        session_tracking_start_on:
          type: string
        encoded_value:
          type: string
          description: Encoded offer ID for use in tracking links.
        payout_revenue:
          type: array
          items:
            type: object
            properties:
              network_offer_payout_revenue_id:
                type: integer
                description: Unique payout/revenue configuration ID.
              entry_name:
                type: string
                description: Name for the base conversion. Defaults to "Base".
              payout_type:
                type: string
                enum:
                  - cpa
                  - cpc
                  - cpm
                  - cps
                  - cpa_cps
                  - prv
                  - blank
                  - cpa_sku
                  - cps_sku
                  - cpa_cps_sku
                  - prv_sku
              payout_amount:
                type: number
                description: Amount of the payout. Not required if `payout_type` is `cps` or `prv`.
              payout_percentage:
                type: number
                description: Percentage of the payout. Only required if `payout_type` is `cps`, `cpa_cps`, or `prv`.
              revenue_type:
                type: string
                enum:
                  - rpa
                  - rpc
                  - rpm
                  - rps
                  - rpa_rps
                  - blank
                  - rpa_sku
                  - rps_sku
                  - rpa_rps_sku
              revenue_amount:
                type: number
                description: Amount of the revenue. Not required if `revenue_type` is `rps`.
              revenue_percentage:
                type: number
                description: Percentage of the revenue. Only required if `revenue_type` is `rps` or `rpa_rps`.
              is_default:
                type: boolean
                description: Whether this is the default payout/revenue entry. Must be `true` for the base conversion.
              is_private:
                type: boolean
                description: Whether the payout/revenue entry is private. Must be `false` for the base conversion.
              is_postback_disabled:
                type: boolean
                description: When enabled, prevents the partner's postback from being fired on a successful initial conversion. Useful when the base conversion is not tied to a payable action.
              is_enforce_caps:
                type: boolean
              is_must_approve_conversion:
                type: boolean
                description: When enabled, hides all conversions from partners and prevents their postbacks from being fired. These conversions can be viewed under Reporting > Conversions with status "Pending".
              is_allow_duplicate_conversion:
                type: boolean
                description: When enabled, allows partners to deliver multiple approved conversions from the same Transaction ID. If disabled, duplicate conversions are rejected and not payable to partners.
              is_email_attribution_default_event:
                type: boolean
              remote_offer_resource:
                type: object
                description: Remote offer resource linked to this payout/revenue entry.
                properties:
                  network_offer_id:
                    type: integer
                  network_id:
                    type: integer
                  resource_type:
                    type: string
                  remote_resource_id:
                    type: string
                  resource_id:
                    type: integer
                  last_value_md5:
                    type: string
                  json_config:
                    type: string
                  json_data:
                    type: string
                  time_created:
                    type: integer
                    example: 1734455015
                  time_saved:
                    type: integer
                    example: 1734455015
        is_soft_cap:
          type: boolean
          description: Whether soft caps are enabled for this offer.
        time_created:
          type: integer
          example: 1734455015
          description: Unix timestamp of creation.
        time_saved:
          type: integer
          example: 1734455015
          description: Unix timestamp of last update.
        relationship:
          type: object
          description: Related data returned with the offer.
          properties:
            advertiser:
              type: object
              description: Advertiser that owns this offer.
              properties:
                network_advertiser_id:
                  type: integer
                network_id:
                  type: integer
                name:
                  type: string
                account_status:
                  type: string
                network_employee_id:
                  type: integer
                internal_notes:
                  type: string
                address_id:
                  type: integer
                is_contact_address_enabled:
                  type: boolean
                sales_manager_id:
                  type: integer
                is_expose_publisher_reporting_data:
                  type: boolean
                  nullable: true
                default_currency_id:
                  type: string
                platform_name:
                  type: string
                platform_url:
                  type: string
                platform_username:
                  type: string
                reporting_timezone_id:
                  type: integer
                accounting_contact_email:
                  type: string
                verification_token:
                  type: string
                offer_id_macro:
                  type: string
                affiliate_id_macro:
                  type: string
                time_created:
                  type: integer
                  example: 1734455015
                time_saved:
                  type: integer
                  example: 1734455015
                attribution_method:
                  type: string
                email_attribution_method:
                  type: string
                attribution_priority:
                  type: string
            category:
              type: object
              description: Offer category.
              properties:
                network_category_id:
                  type: integer
                network_id:
                  type: integer
                name:
                  type: string
                status:
                  type: string
                time_created:
                  type: integer
                  example: 1734455015
                time_saved:
                  type: integer
                  example: 1734455015
            creatives:
              type: object
              description: Creatives associated with this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            traffic_filters:
              type: object
              description: Traffic filters configured for this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            labels:
              type: object
              description: Labels applied to this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            payout_revenue:
              type: object
              description: Payout and revenue configurations.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
                    properties:
                      network_offer_payout_revenue_id:
                        type: integer
                      network_id:
                        type: integer
                      network_offer_id:
                        type: integer
                      entry_name:
                        type: string
                      payout_type:
                        type: string
                      payout_amount:
                        type: number
                      payout_percentage:
                        type: number
                      revenue_type:
                        type: string
                      revenue_amount:
                        type: number
                      revenue_percentage:
                        type: number
                      is_default:
                        type: boolean
                      is_private:
                        type: boolean
                      is_postback_disabled:
                        type: boolean
                      is_enforce_caps:
                        type: boolean
                      time_created:
                        type: integer
                        example: 1734455015
                      global_advertiser_event_id:
                        type: integer
                      is_must_approve_conversion:
                        type: boolean
                      is_allow_duplicate_conversion:
                        type: boolean
                      is_email_attribution_default_event:
                        type: boolean
                      remote_offer_resource:
                        type: object
                        description: Remote offer resource linked to this payout/revenue entry.
                        properties:
                          network_offer_id:
                            type: integer
                          network_id:
                            type: integer
                          resource_type:
                            type: string
                          remote_resource_id:
                            type: string
                          resource_id:
                            type: integer
                          last_value_md5:
                            type: string
                          json_config:
                            type: string
                          json_data:
                            type: string
                          time_created:
                            type: integer
                            example: 1734455015
                          time_saved:
                            type: integer
                            example: 1734455015
            custom_cap_settings:
              type: object
              description: Custom cap settings per affiliate.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            custom_scrub_rate_settings:
              type: object
              description: Custom scrub rate settings per affiliate.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            custom_payout_revenue_settings:
              type: object
              description: Custom payout/revenue settings per affiliate.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            reporting:
              type: object
              description: Aggregated reporting metrics for this offer.
              properties:
                imp:
                  type: integer
                total_click:
                  type: integer
                unique_click:
                  type: integer
                invalid_click:
                  type: integer
                duplicate_click:
                  type: integer
                gross_click:
                  type: integer
                ctr:
                  type: number
                cv:
                  type: integer
                invalid_cv_scrub:
                  type: integer
                view_through_cv:
                  type: integer
                total_cv:
                  type: integer
                event:
                  type: integer
                cvr:
                  type: number
                evr:
                  type: number
                cpc:
                  type: number
                cpm:
                  type: number
                cpa:
                  type: number
                epc:
                  type: number
                rpc:
                  type: number
                rpa:
                  type: number
                rpm:
                  type: number
                payout:
                  type: number
                revenue:
                  type: number
                event_revenue:
                  type: number
                gross_sales:
                  type: number
                profit:
                  type: number
                margin:
                  type: number
                roas:
                  type: number
                avg_sale_value:
                  type: number
                media_buying_cost:
                  type: number
                on_hold_potential_revenue:
                  type: number
                on_hold_potential_payout:
                  type: number
                on_hold_conversion_count:
                  type: integer
                public_events:
                  type: integer
            audits:
              type: object
              description: Audit log entries for this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            visibility:
              type: object
              description: Visibility settings controlling which affiliates can see or are blocked from the offer.
              properties:
                network_id:
                  type: integer
                network_offer_id:
                  type: integer
                network_affiliate_visible_ids:
                  type: array
                  items:
                    type: integer
                network_affiliate_rejected_ids:
                  type: array
                  items:
                    type: integer
                network_affiliate_hidden_ids:
                  type: array
                  items:
                    type: integer
            integrations:
              type: object
              description: Third-party integration settings.
              properties:
                optizmo:
                  type: object
                  nullable: true
                twentyfour_metrics:
                  type: object
                  nullable: true
                offer_demand_partner:
                  type: object
                  nullable: true
                forensiq:
                  type: object
                  nullable: true
                ezepo:
                  type: object
                  nullable: true
                anura:
                  type: object
                  nullable: true
                invoca:
                  type: object
                  nullable: true
                ip_quality_score:
                  type: object
                  nullable: true
                unsubcentral:
                  type: object
                  nullable: true
                ringba:
                  type: object
                  nullable: true
                retreaver:
                  type: object
                  nullable: true
            ruleset:
              type: object
              description: Targeting ruleset for this offer.
              properties:
                network_id:
                  type: integer
                network_ruleset_id:
                  type: integer
                time_created:
                  type: integer
                  example: 1734455015
                time_saved:
                  type: integer
                  example: 1734455015
                platforms:
                  type: array
                  items:
                    type: object
                device_types:
                  type: array
                  items:
                    type: object
                os_versions:
                  type: array
                  items:
                    type: object
                browsers:
                  type: array
                  items:
                    type: object
                languages:
                  type: array
                  items:
                    type: object
                countries:
                  type: array
                  items:
                    type: object
                regions:
                  type: array
                  items:
                    type: object
                cities:
                  type: array
                  items:
                    type: object
                dmas:
                  type: array
                  items:
                    type: object
                mobile_carriers:
                  type: array
                  items:
                    type: object
                connection_types:
                  type: array
                  items:
                    type: object
                ips:
                  type: array
                  items:
                    type: object
                is_block_proxy:
                  type: boolean
                is_use_day_parting:
                  type: boolean
                day_parting_apply_to:
                  type: string
                day_parting_timezone_id:
                  type: integer
                days_parting:
                  type: array
                  items:
                    type: object
                isps:
                  type: array
                  items:
                    type: object
                brands:
                  type: array
                  items:
                    type: object
                postal_codes:
                  type: array
                  items:
                    type: object
            source_names:
              type: object
              description: Pre-approved source names for this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            urls:
              type: object
              description: Additional offer URLs.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            encoded_value:
              type: string
              description: Encoded offer ID for use in tracking links.
            remaining_caps:
              type: object
              description: Remaining cap values for the offer across all cap types.
              properties:
                remaining_daily_payout_cap:
                  type: number
                remaining_daily_revenue_cap:
                  type: number
                remaining_daily_conversion_cap:
                  type: number
                remaining_daily_click_cap:
                  type: number
                remaining_weekly_payout_cap:
                  type: number
                remaining_weekly_revenue_cap:
                  type: number
                remaining_weekly_conversion_cap:
                  type: number
                remaining_weekly_click_cap:
                  type: number
                remaining_monthly_payout_cap:
                  type: number
                remaining_monthly_revenue_cap:
                  type: number
                remaining_monthly_conversion_cap:
                  type: number
                remaining_monthly_click_cap:
                  type: number
                remaining_global_payout_cap:
                  type: number
                remaining_global_revenue_cap:
                  type: number
                remaining_global_conversion_cap:
                  type: number
                remaining_global_click_cap:
                  type: number
            is_locked_currency:
              type: boolean
              description: Whether the currency is locked for this offer.
            custom_creative_settings:
              type: object
              description: Custom creative settings per affiliate.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            channels:
              type: object
              description: Channels this offer belongs to.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            is_locked_caps_timezone:
              type: boolean
              description: Whether the caps timezone is locked for this offer.
            meta:
              type: object
              description: App metadata for this offer.
              properties:
                network_offer_id:
                  type: integer
                network_id:
                  type: integer
                app_id:
                  type: string
                meta_platform:
                  type: string
                advertiser_campaign_name:
                  type: string
                bundle_id:
                  type: string
                category:
                  type: string
                store_url:
                  type: string
                score_rating:
                  type: number
                total_rating:
                  type: number
                size:
                  type: number
                developer:
                  type: string
                version:
                  type: string
                is_app_unavailable:
                  type: boolean
                time_created:
                  type: integer
                  example: 1734455015
                time_app_data_saved:
                  type: integer
                  example: 1734455015
                time_saved:
                  type: integer
                  example: 1734455015
            requirement_kpis:
              type: object
              description: KPI requirements for this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
            requirement_tracking_parameters:
              type: object
              description: Required tracking parameters for this offer.
              properties:
                total:
                  type: integer
                entries:
                  type: array
                  items:
                    type: object
