Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt

Use this file to discover all available pages before exploring further.

Reporting

Available commands:
  • cloudx report dashboard for summary and daily or hourly metrics
  • cloudx report breakdown for CloudX-only custom breakdowns by time, inventory, and device dimensions
  • cloudx report bidders for bidder performance
  • cloudx report apps for app performance
  • cloudx report ad-units for ad unit performance
  • cloudx report export for CSV or JSON export

Request Timeout

Reporting requests default to a 60 second API timeout. Use the global --timeout flag before the command when a workflow should fail earlier, or when a heavy report needs more time.
cloudx --timeout 90s report export --period 2026-04-01..2026-04-07
--timeout accepts duration values such as 30s, 90s, or 2m. Values must be greater than 0s and no more than 2m.

Shared Flags

Most reporting commands use the flags below. Exact support by command is listed in the next section.
FlagRequiredDescription
--periodNoTime range. Defaults to today. Supports today, yesterday, last_7d, last_30d, YYYY-MM-DD, or YYYY-MM-DD..YYYY-MM-DD.
--granularityNoReport bucket granularity. Supported by report dashboard, report breakdown, and report export. Allowed values: daily, hourly. Default: daily.
--test-modeNoTest filter. Allowed values: production, test, all. Default: production.
--appNoApp bundle filter. Only supported by report ad-units.
--ad-unit-typeNoAd unit type filter. Only supported by report ad-units. Allowed values: BANNER, INTERSTITIAL, REWARDED, MREC, NATIVE.
--countryNoISO-2 country code, for example US or GB.
--device-osNoDevice platform filter. Allowed values: iOS, Android.
--sourceNoReport source filter. Supported by report dashboard, report apps, and report ad-units. Defaults to CloudX when omitted.
--jsonNoEmit structured JSON instead of human-readable output.

Flag Support By Command

FlagDashboardBreakdownBiddersAppsAd UnitsExport
--period
--granularity
--test-mode
--app
--ad-unit-type
--country
--device-os
--source
--json

Period Values

Period parsing is UTC-based. If you omit --period, every reporting command uses today.
ValueMeaning
todayCurrent UTC day
yesterdayPrevious UTC day
last_7dCurrent UTC day plus the previous 6 days
last_30dCurrent UTC day plus the previous 29 days
2026-04-01Single UTC day
2026-04-01..2026-04-07Inclusive UTC date range
Validation rules:
  • End date must not be earlier than start date.
  • --country must be a two-letter uppercase ISO-2 code after normalization.
  • --device-os must be exactly iOS or Android.
  • --test-mode must be production, test, or all.
  • --granularity must be daily or hourly.

Granularity Values

Use --granularity when you need to change how reporting rows are bucketed inside the selected period.
ValueMeaning
dailyUTC calendar-day buckets. This is the default.
hourlyUTC hour buckets. Supported by report dashboard, report breakdown, and report export.
For hourly dashboard reports, the human-readable chart table uses BUCKET START instead of DATE, and JSON chart rows include bucket_start timestamps such as 2026-04-01T13:00:00Z. For hourly exports, the leading CSV or JSON column changes from date to bucket_start.

Source Values

When you omit --source, report commands use the existing CloudX-only reporting path. This keeps dashboard, app, and ad-unit results scoped to impressions served by CloudX. Use --source when you want reports to include impression-level revenue data (ILRD) forwarded by publisher SDKs for other mediation platforms.
ValueMeaning
cloudxCloudX-served impressions only.
<mediator>A mediator/platform source from external ILRD, such as applovin.
cloudx,applovinA comma-separated comparison across specific sources.
allCloudX plus every available external mediator source.
Source names are case-insensitive and normalized by the CLI. External source values come from the ILRD mediator/platform, not the downstream demand network. For example, AppLovin MAX rows with ADMOB_BIDDING demand are reported under applovin, not admob.
When --source includes external mediators, fill rate remains CloudX-only because external ILRD includes impressions and revenue, but not CloudX bid requests. The CLI labels this as Fill Rate (CloudX-only).

Output Format

Human-Readable

Most commands print a metadata block first, then a table. Example metadata block:
Period:      last_30d
Test mode:   production
Country:     US
Device OS:   iOS
Granularity: hourly

JSON

Pass --json to return structured JSON:
cloudx report dashboard --json
All command examples are collected on the Examples page.

cloudx report dashboard

Shows summary metrics and daily or hourly chart rows.

Usage

cloudx report dashboard [--period <value>] [--granularity daily|hourly] [flags]
Use --source all to include external mediator ILRD in dashboard revenue, impressions, eCPM, and source breakdowns:
cloudx report dashboard --period last_7d --source all
Use --granularity hourly to show chart rows by UTC hour:
cloudx report dashboard --period 2026-04-01 --granularity hourly

Example

$ cloudx report dashboard
Period:      today
Test mode:   production

Requests:     1.5M
Impressions:  1.2M
Revenue:      $14.9K
Fill Rate:    78.0%
eCPM:         $12.7
Clicks:       35.1K
CTR:          3.0%
Users:        42K

DATE        REQUESTS  IMPRESSIONS  REVENUE  CLICKS
2026-03-29  210K      163.8K       $2.1K    4.9K

cloudx report breakdown

Shows CloudX-only aggregate metrics grouped by the dimensions you choose. This command is intended for ad hoc analysis such as revenue by country, hourly fill rate by app, or eCPM by ad unit. It does not accept --source and does not include external mediator ILRD or provider revenue. Use the source-aware dashboard, app, and ad-unit commands only when you need external ILRD where supported.

Usage

cloudx report breakdown --by <dimensions> --metrics <metrics> [flags]

Dimensions

Use a comma-separated list with --by.
DimensionMeaning
hourUTC hour bucket. Requires --granularity hourly.
dayUTC calendar day.
weekUTC week bucket starting on Sunday.
monthUTC month bucket.
countryDevice country.
osDevice operating system.
appApp bundle or app identifier from CloudX reporting.
ad_unitCloudX ad unit ID.
formatAd format when present in CloudX reporting data.

Metrics

Use a comma-separated list with --metrics.
MetricMeaning
requestsCloudX request count.
impressionsCloudX impression count.
revenueCloudX revenue.
fill_rateimpressions / requests.
ecpmrevenue * 1000 / impressions.
clicksClick count.
ctrclicks / impressions.
Rate metrics are computed from summed components for each returned row. They are not averaged from precomputed rates.

Options

FlagDescription
--granularity dailyDefault. Use daily-compatible time dimensions such as day, week, or month.
--granularity hourlyEnables UTC hour buckets and the hour dimension.
--top NReturn the top N rows sorted by the first requested metric.
--bottom NReturn the bottom N rows sorted by the first requested metric.
--having <expr>Filter rows by a metric expression, for example revenue > 10.

Having Expressions

--having filters rows after grouping. It supports one metric comparison:
<metric> <operator> <number>
Supported operators: <, <=, =, ==, !=, >=, >. The metric must be one of the supported breakdown metrics listed above, and the right-hand side must be a number. == is accepted as an alias for =. Boolean logic, strings, SQL functions, and field-to-field comparisons are not supported. Valid examples:
--having 'revenue > 10'
--having 'impressions >= 1000'
--having 'ctr < 1.5'
Invalid examples:
--having 'revenue > 10 OR 1=1'
--having 'country = US'
--having 'revenue > impressions'

Examples

Daily revenue, impressions, and eCPM by country:
cloudx report breakdown --period last_7d --by day,country --metrics revenue,impressions,ecpm
Hourly app fill rate for one day:
cloudx report breakdown --period 2026-04-01 --granularity hourly --by hour,app --metrics requests,impressions,fill_rate
Top ad units by revenue:
cloudx report breakdown --by app,ad_unit --metrics revenue,ecpm --top 10
JSON output filtered by a metric threshold:
cloudx report breakdown --by country --metrics revenue,impressions --having 'revenue > 10' --json

Example Output

$ cloudx report breakdown --period 2026-04-01 --granularity hourly --by hour,country --metrics revenue,impressions,ecpm
Period:       2026-04-01
Test mode:    production
Granularity:  hourly

HOUR                  COUNTRY  REVENUE  IMPRESSIONS  ECPM
2026-04-01T00:00:00Z  US       $128.4   10.2K        $12.6
2026-04-01T01:00:00Z  GB       $84.1    6.8K         $12.4

cloudx report bidders

Shows bidder-level performance for the selected time period.

Usage

cloudx report bidders [--period <value>] [flags]

Example

$ cloudx report bidders
Period:      today
Test mode:   production

BIDDER  REQUESTS  BIDS  BID RATE  IMPRESSIONS  WIN RATE  REVENUE  ECPM
meta    850K      629K  74.0%     314.5K       50.0%     $5.6K    $17.7

cloudx report apps

Shows app-level performance for the selected time period.

Usage

cloudx report apps [--period <value>] [flags]
Use a comma-separated source list to compare CloudX against a mediator for each app:
cloudx report apps --period last_30d --source cloudx,applovin

Example

$ cloudx report apps
Period:      today
Test mode:   production

APP ID            NAME          PLATFORM  IMPRESSIONS  FILL RATE  REVENUE  ECPM
com.example.game  Example Game  iOS       1.8M         78.0%      $8.4K    $4.7

cloudx report ad-units

Shows ad-unit-level performance for the selected time period.

Usage

cloudx report ad-units [--period <value>] [flags]
This is the only reporting command that currently supports both --app and --ad-unit-type. Use --source all with --app to see CloudX and external mediator revenue for the same app’s ad units:
cloudx report ad-units --app com.example.game --source all

Example

$ cloudx report ad-units
Period:      today
Test mode:   production

AD UNIT ID  NAME                APP NAME      APP BUNDLE        TYPE    IMPRESSIONS  FILL RATE  REVENUE  ECPM
abc123      Home Screen Banner  Example Game  com.example.game  BANNER  450K         55.0%      $2.1K    $4.7

cloudx report export

Exports report data in CSV format by default.

Usage

cloudx report export [--period <value>] [--granularity daily|hourly] [flags]
Use --granularity hourly when downstream reporting needs UTC hour buckets:
cloudx report export --period 2026-04-01 --granularity hourly

Example

$ cloudx report export
date,network_name,country
2026-03-29,meta,US
Hourly exports use bucket_start for the first column:
$ cloudx report export --period 2026-03-29 --granularity hourly
bucket_start,network_name,country
2026-03-29T13:00:00Z,meta,US

JSON Output

With --json, the response includes:
  • columns
  • rows
  • row_count