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

# /report/insight/demand-mix/campaign

> Revenue and impressions per campaign over time, with where each campaign ran, its delivery dates, its demand source and whether it is live or complete



## OpenAPI

````yaml /openapi.json get /v1/report/insight/demand-mix/campaign
openapi: 3.0.1
info:
  title: CI Public API
  description: >-
    # Introduction

    Welcome to the Content Ignite API. A central place for all Content Ignite
    functionality. 


    This API enforces a separation between function and form, meaning anything
    you can do in our platforms can be replicated in your own bespoke solution.


    # Authentication

    Authentication is handled via JWTs. You can retrieve your unique JSON Web
    Token from the settings page in the platform, which needs to be passed in
    with every request.

    To do this, simple include it in an Authorization header with the "Bearer"
    key word.


    Please contact support for help getting started.


    # Error Codes

    This is a fully RESTful API, so prepare for a number of different HTTP
    status codes.


    There is also a standard "success" field returned for each request. This
    boolean value can provide a first check against a response.


    # Rate limit

    We reserve the right to block requests if we deem a client to be abusing the
    API.
  version: 1.0.0
servers:
  - url: https://api.tagdeliver.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Reporting
  - name: Reporting/Revenue Reports
  - name: Reporting/Experiment Reporting
  - name: Reporting/Campaign Reports
  - name: Reporting/Health Check
  - name: Reporting/Ads.txt
  - name: Reporting/Utility
  - name: Reporting/Insights Hub
  - name: Reporting/Insights Hub/SSP Insights
  - name: Reporting/Insights Hub/Core Web Vitals
  - name: Reporting/Insights Hub/Ads.txt Insights
  - name: Reporting/Insights Hub/Live Insights
  - name: Reporting/Insights Hub/Metrics
  - name: Reporting/Insights Hub/Diagnostics
  - name: Reporting/Insights Hub/Revenue Insights
  - name: Reporting/Insights Hub/Revenue Analytics
  - name: Reporting/Insights Hub/Demand Mix
  - name: Reporting/Insights Hub/Benchmarking
  - name: Organisation
  - name: Organisation/Organisation Meta
  - name: Organisation/Pricing
  - name: Ad Stack
  - name: Ad Stack/Integration
  - name: Publisher
  - name: Publisher/Publisher Stack
  - name: Publisher/Publisher Tag
  - name: Publisher/Publisher Meta
  - name: Publisher/Experiment
  - name: Publisher/Config (Ad unit)
  - name: Publisher/App Placement
  - name: AI
  - name: AI/Activity
  - name: Billing
  - name: Billing/Invoice
  - name: Audit Log
  - name: '[IN PROGRESS] Integration'
  - name: '[IN PROGRESS] Integration/Mapping'
  - name: '[IN PROGRESS] User'
  - name: '[IN PROGRESS] User/Account'
  - name: public
paths:
  /v1/report/insight/demand-mix/campaign:
    get:
      tags:
        - Reporting/Insights Hub/Demand Mix
        - public
      summary: /report/insight/demand-mix/campaign
      description: >-
        Revenue and impressions per campaign over time, with where each campaign
        ran, its delivery dates, its demand source and whether it is live or
        complete
      parameters:
        - name: uid
          in: query
          description: >-
            One or more publisher IDs, comma-separated. Defaults to all
            publishers in your organisation
          required: false
          schema:
            type: string
        - name: range
          in: query
          description: >-
            Date range to report on. Preset ranges end yesterday.
            `month_to_date` is the current month so far and `week_to_date` is
            the current week so far. `month_on_month` and `quarter_on_quarter`
            return monthly or quarterly totals, with the latest period
            incomplete. `custom` requires `start` and `end` (YYYY-MM-DD). Other
            values return a 400 error
          required: false
          schema:
            type: string
            enum:
              - custom
              - all_time
              - seven_days
              - fourteen_days
              - thirty_days
              - three_months
              - six_months
              - week_to_date
              - month_to_date
              - quarter_to_date
              - year_to_date
              - last_week
              - last_month
              - last_quarter
              - last_year
              - month_on_month
              - quarter_on_quarter
              - yesterday
        - name: start
          in: query
          description: Start date when range=custom
          required: false
          schema:
            type: string
            format: date
        - name: end
          in: query
          description: End date when range=custom
          required: false
          schema:
            type: string
            format: date
        - name: date_group
          in: query
          description: >-
            Groups the series by day, month or quarter. `month_on_month` and
            `quarter_on_quarter` group automatically
          required: false
          schema:
            type: string
            enum:
              - day
              - month
              - quarter
            default: day
        - name: rev_type
          in: query
          description: Revenue type
          required: false
          schema:
            type: string
            enum:
              - gross
              - net
            default: gross
        - name: environment
          in: query
          description: Environment or platform to report from
          required: false
          schema:
            type: string
            enum:
              - all
              - app
              - web
            default: all
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                required:
                  - results
                  - success
                properties:
                  results:
                    type: object
                    required:
                      - currency
                      - dates
                      - campaigns
                      - campaignList
                    properties:
                      currency:
                        type: string
                        description: Currency code all revenue is converted to
                      dates:
                        type: array
                        description: >-
                          Start date of each period in the series, by day, month
                          or quarter
                        items:
                          type: string
                          format: date
                      campaigns:
                        type: object
                        description: >-
                          One entry per campaign, keyed by campaign name.
                          Campaigns with the same name are combined. Each array
                          lines up with `dates`; null means no delivery in that
                          period
                        additionalProperties:
                          type: object
                          required:
                            - revenue
                            - impressions
                            - demand
                          properties:
                            revenue:
                              type: array
                              description: Gross or net revenue, following `rev_type`
                              items:
                                type: number
                                nullable: true
                            impressions:
                              type: array
                              items:
                                type: integer
                                nullable: true
                            demand:
                              type: string
                              enum:
                                - ci
                                - publisher
                              description: >-
                                ci for Plug&Play demand, publisher for the
                                publisher's own SaaS demand
                        properties: {}
                      campaignList:
                        type: array
                        description: One row per campaign that delivered in the period
                        items:
                          type: object
                          required:
                            - campaign_id
                            - campaign_name
                            - publisher
                            - demand
                            - start_date
                            - end_date
                            - status
                          properties:
                            campaign_id:
                              type: integer
                              description: >-
                                Use with `/v1/report/campaign/{id}` for full
                                campaign detail
                            campaign_name:
                              type: string
                              description: Matches the key in `campaigns`
                            publisher:
                              type: string
                              description: Domains the campaign ran on, comma-separated
                            demand:
                              type: string
                              enum:
                                - CI
                                - Publisher
                              description: >-
                                CI for Plug&Play demand, Publisher for the
                                publisher's own SaaS demand
                            start_date:
                              type: string
                              format: date
                              description: First delivery date on your publishers
                            end_date:
                              type: string
                              format: date
                              description: Last delivery date on your publishers
                            status:
                              type: string
                              enum:
                                - live
                                - complete
                              description: >-
                                `complete` when the last delivery on your
                                publishers was before yesterday, otherwise
                                `live`
                  success:
                    type: boolean
              example:
                results:
                  currency: GBP
                  dates:
                    - '2026-10-15'
                    - '2026-10-16'
                    - '2026-10-17'
                    - '2026-10-18'
                    - '2026-10-19'
                    - '2026-10-20'
                    - '2026-10-21'
                  campaigns:
                    Autumn Sale - Retail UK:
                      revenue:
                        - 412.5
                        - 398.12
                        - 251.4
                        - 240.06
                        - 433.9
                        - 421.33
                        - 415.08
                      impressions:
                        - 61840
                        - 59710
                        - 37605
                        - 35990
                        - 65020
                        - 63150
                        - 62210
                      demand: ci
                    Direct - Sponsorship Q4:
                      revenue:
                        - null
                        - null
                        - null
                        - 180
                        - 180
                        - 180
                        - 180
                      impressions:
                        - null
                        - null
                        - null
                        - 24015
                        - 23870
                        - 24390
                        - 24102
                      demand: publisher
                  campaignList:
                    - campaign_id: 4815162342
                      campaign_name: Autumn Sale - Retail UK
                      publisher: example-news.co.uk, example-sport.com
                      demand: CI
                      start_date: '2026-09-29'
                      end_date: '2026-10-21'
                      status: live
                    - campaign_id: 2718281828
                      campaign_name: Direct - Sponsorship Q4
                      publisher: example-news.co.uk
                      demand: Publisher
                      start_date: '2026-10-18'
                      end_date: '2026-10-21'
                      status: live
                success: true
          headers: {}
      deprecated: false
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

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