Reports

Build a Channel Reporting V2 report

Returns selected JSON rows, a full filtered summary, pagination, and report metadata.

get/discobeat/reporting/v2/report/

Request

Query parameters

fromstring date

First inclusive UTC date paired with to, or omitted with it.

tostring date

Last inclusive UTC date paired with from, not in the future, and within available history.

metricsChannelMetric[]

Unique comma-separated metrics set response order, while omission selects enabled metrics in canonical order.

time_grain'total' | 'day' | 'week' | 'month' | 'hour'

UTC period grain with total as default and Monday-based clipped week and month periods.

group_bystring[]

Up to three unique grouping keys, with publisher adding publisher_id and publisher_name.

sort_order'desc' | 'asc'

Periods use desc for latest first or asc for oldest first, with grouping values ascending.

sort_bystring

Sort by period_start, a selected metric, or a selected grouping field. Use publisher_name for the publisher grouping.

sort_direction'asc' | 'desc'

Sort direction. Defaults to sort_order.

publisher_idsstring[]

Filter to up to 250 comma-separated publisher UUIDs without adding publisher columns.

page_typesstring[]

Filter to up to 250 comma-separated page types without adding a grouping column. MODAL activity is excluded.

widget_typesstring[]

Filter to up to 250 comma-separated widget types without adding a grouping column.

offsetinteger

Rows to skip after sorting.

limitinteger

Number of JSON rows in a page.

Response

Paginated Channel report and complete filtered summary.

Example response

{
  "data": [
    {
      "period_start": "2026-07-18T00:00:00Z",
      "period_end": "2026-07-19T00:00:00Z",
      "publisher_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "publisher_name": "AfterShip Tracking Page",
      "page_type": "ORDER_TRACKING",
      "widget_type": "APP_NATIVE_ESSENTIAL",
      "widget_id": "tracking-primary",
      "impressions": 42000,
      "clicks": 840,
      "conversions": 210,
      "channel_payout": 6250,
      "revenue_with_email": 4800,
      "revenue_without_email": 1450,
      "feed_loads": 50000,
      "widget_displays": 47500,
      "viewable_widget_displays": 41000,
      "order_revenue_amount": 31500,
      "attributed_ad_spend_amount": 8400,
      "billable_ad_spend_amount": 8250,
      "ctr": 0.02,
      "cvr": 0.25,
      "rpl": 0.125,
      "attributed_cpa": 40
    }
  ],
  "summary": {
    "impressions": 42000,
    "clicks": 840,
    "conversions": 210,
    "channel_payout": 6250,
    "revenue_with_email": 4800,
    "revenue_without_email": 1450,
    "feed_loads": 50000,
    "widget_displays": 47500,
    "viewable_widget_displays": 41000,
    "order_revenue_amount": 31500,
    "attributed_ad_spend_amount": 8400,
    "billable_ad_spend_amount": 8250,
    "ctr": 0.02,
    "cvr": 0.25,
    "rpl": 0.125,
    "attributed_cpa": 40
  },
  "pagination": {
    "limit": 50,
    "total": 1
  },
  "meta": {
    "data_through": "2026-07-20T00:00:00Z",
    "request_id": "d719d46e-9540-4c5c-a711-6b4b50c25820"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.