report/demand-comparison

Field and value reference · Markdown

GET/report/demand-comparison

Request

cURL
curl -X GET "https://provisioning.cloudx.io/api/v1/report/demand-comparison?start_time=1712462400&end_time=1713067200" \
  -H "Authorization: Bearer $CLOUDX_API_KEY"

Query parameters

NameTypeDescription
start_timerequiredinteger<int64>Start of the inclusive report window as a Unix timestamp in seconds. CloudX converts the timestamp to a calendar date in timezone. The start date must be 2020-01-01 or later. The window can span any number of completed calendar dates within available history; some dates may have no data.
end_timerequiredinteger<int64>End of the inclusive report window as a Unix timestamp in seconds. CloudX converts the timestamp to a calendar date in timezone. The end date must not precede the start date and must be complete. At and after 12:00 UTC, yesterday is complete. Before 12:00 UTC, the most recent complete date is the day before yesterday. The window can span any number of completed calendar dates within available history; some dates may have no data.
timezonestringIANA timezone used to convert start_time and end_time to calendar dates. Defaults to UTC.
demand_sourcearray of stringOptional demand-source filter. Repeat the parameter for each source, for example demand_source=meta&demand_source=moloco. Omit it to include all supported sources. Allowed values: digitalturbine, inmobi, liftoff, meta, moloco.
provider_business_idstringOptional provider-business filter. Use a comma-separated list for multiple values.
provider_property_idstringOptional provider-property filter. Use a comma-separated list for multiple values.
cloudx_ad_unit_idstringOptional CloudX ad-unit filter. Use a comma-separated list for multiple values.

Responses

Mapped demand comparison summary.
{
  "rows": [
    {
      "cloudx_revenue": 12.34,
      "partner_revenue": 12.34,
      "revenue_delta": 12.34,
      "revenue_delta_percent": 12.34,
      "cloudx_ecpm": 12.34,
      "partner_ecpm": 12.34,
      "ecpm_delta": 12.34,
      "ecpm_delta_percent": 12.34,
      "cloudx_impressions": 12.34,
      "partner_impressions": 12.34,
      "impression_delta": 12.34,
      "impression_delta_percent": 12.34,
      "demand_source": "<string>",
      "status": "comparable",
      "matched_ad_units": 12.34,
      "cloudx_ad_units": 12.34,
      "has_mapping_gaps": true,
      "partner_latest_report_date": "<string>",
      "partner_report_days": 12.34
    }
  ],
  "row_count": 123
}

200Mapped demand comparison summary.

FieldTypeDescription
rowsrequiredarray of object
row_countrequiredinteger<int64>

400Invalid request parameters.

FieldTypeDescription
errorrequiredstring

401Unauthorized.

FieldTypeDescription
errorrequiredstring

403Forbidden.

FieldTypeDescription
errorrequiredstring

500Internal server error.

FieldTypeDescription
errorrequiredstring

504The query did not finish within the request time budget. Retry, narrowing the time range or filters where the operation accepts them.

FieldTypeDescription
errorrequiredstring

Demand Comparison summary reference

This endpoint rolls up the full requested calendar-date window by demand source. It does not expose day, country, platform, mediator, or raw partner-report rows. CloudX-recognized values are CloudX reporting facts. Partner values come from the selected partner report.

start_time and end_time are required Unix seconds. CloudX converts each timestamp to a calendar date in timezone, which is an IANA time zone and defaults to UTC. The converted window is inclusive. The start date must be on or after 2020-01-01, and the end date must not precede it. Select any length of completed calendar-date window within available history. At or after 12:00 UTC, yesterday is the most recent complete date; before 12:00 UTC, it is the day before yesterday. Timezone conversion selects dates; it does not rebucket partner facts. Requested dates may have no CloudX or partner data.

demand_source is optional. Omit it to include every supported source, or repeat it for up to five unique values. The complete enum is digitalturbine, inmobi, liftoff, meta, and moloco. provider_business_id, provider_property_id, and cloudx_ad_unit_id are optional comma-separated filters. They accept live provider or CloudX identifiers, not closed enums. Provider IDs identify the partner account or property. CloudX IDs identify CloudX ad units.

The response contains rows and row_count. row_count is the number of returned source rows. Each supported source appears at most once.

Every row has these CloudX metrics:

FieldMeaning
cloudx_revenueCloudX-recognized revenue.
cloudx_ecpmcloudx_revenue * 1000 / cloudx_impressions, or 0 when impressions are zero.
cloudx_impressionsCloudX impression count.

The following partner and delta fields are numbers only when the partner data is available for the row. An absent field means unavailable. It does not mean zero. A comparable status confirms mapped report-date coverage, not that every metric is present. Providers can suppress revenue for low-volume slices.

FieldMeaning
partner_revenuePartner-reported revenue.
revenue_deltacloudx_revenue - partner_revenue.
revenue_delta_percentRevenue delta as a percentage of partner revenue. It is absent when partner revenue is below 0.005.
partner_ecpmpartner_revenue * 1000 / partner_impressions, or 0 when impressions are zero. Requires both partner metrics.
ecpm_deltacloudx_ecpm - partner_ecpm.
ecpm_delta_percenteCPM delta as a percentage of partner eCPM. It is absent when partner eCPM is below 0.005.
partner_impressionsPartner-reported impression count.
impression_deltacloudx_impressions - partner_impressions.
impression_delta_percentImpression delta as a percentage of partner impressions. It is absent when partner impressions are below 1.
FieldMeaning
demand_sourceOne supported demand-source enum value.
statuscomparable, not_connected, no_partner_data, unmapped_partner_data, or stale_partner_data. comparable has mapped partner report dates covering the requested window. not_connected has no active partner connection. no_partner_data has no mapped partner report and no nonzero unmapped partner revenue or impressions. unmapped_partner_data has nonzero unmapped partner revenue or impressions but no mapped partner report. stale_partner_data does not cover the full requested window.
matched_ad_unitsDistinct mapped partner ad-unit IDs with positive impressions on both the CloudX and partner sides.
cloudx_ad_unitsDistinct mapped partner ad-unit IDs with positive CloudX impressions. This is not a count of all configured CloudX ad units.
has_mapping_gapstrue when missing or ambiguous mapping affects revenue or impressions.
partner_latest_report_dateLatest mapped partner report date, YYYY-MM-DD, when available.
partner_report_daysNumber of distinct mapped partner report dates in the requested window.

JSON example

{
  "rows": [
    {
      "cloudx_revenue": 14.25,
      "partner_revenue": 13.9,
      "revenue_delta": 0.35,
      "revenue_delta_percent": 2.5179856115107913,
      "cloudx_ecpm": 11.875,
      "partner_ecpm": 11.583333333333334,
      "ecpm_delta": 0.2916666666666661,
      "ecpm_delta_percent": 2.5179856115107864,
      "cloudx_impressions": 1200,
      "partner_impressions": 1200,
      "impression_delta": 0,
      "impression_delta_percent": 0,
      "demand_source": "meta",
      "status": "comparable",
      "matched_ad_units": 2,
      "cloudx_ad_units": 2,
      "has_mapping_gaps": false,
      "partner_latest_report_date": "2026-04-01",
      "partner_report_days": 1
    }
  ],
  "row_count": 1
}