Skip to content

Returns campaign performance over a range: entitlements issued, current activity, trial conversions, promotion touches, and attributed MRR per campaign. Revenue is first-touch attributed and reported per currency; amounts in different currencies are never summed.

GET
/api/v1/provision/admin/reports/campaign-performance
curl --request GET \
--url 'https://example.com/api/v1/provision/admin/reports/campaign-performance?period=day'
rangeStart
string format: date-time
rangeStop
string format: date-time
period
string
default: day

OK

Campaign performance over a time range: entitlements issued, current activity, trial conversions, promotion touches, and attributed monthly recurring revenue per campaign. Revenue follows first-touch attribution (each entitlement’s earliest Issuance/Manual touch), so no entitlement is counted under two campaigns. Amounts are reported per currency and are never summed across currencies. Plans priced in relative units are reported apart from money again, as a share of the total rather than an amount.

object
generatedAtUtc
string format: date-time
rows

One row per campaign (soft-deleted campaigns included, flagged), highest issued count first.

Array<object>

One campaign’s performance over the range.

object
campaignId

Null on the Unattributed row.

null | string format: uuid
name
string
code
string
isRunning

True when the campaign is enabled and inside its window at generation time.

boolean
isDeleted

True when the campaign has been deleted; its history stays visible.

boolean
entitlementsIssued

Entitlements issued in the range whose acquisition attribution is this campaign.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
issuedSeries

Issued count per bucket, oldest first, bucketed by the requested period.

Array<object>

One bucket of a count time series.

object
bucket

Start of the bucket (UTC).

string format: date-time
count
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
currentlyActive

Entitlements attributed to this campaign that are currently active.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
trialsStarted

Of the issued cohort, entitlements that carried a trial policy.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
trialsConverted

Of the issued cohort, trials whose window has elapsed while the entitlement stayed published.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
planOverrideTouches

Temporary plan overrides applied under this campaign within the range.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
addOnGrantTouches

Add-on grants made under this campaign within the range.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
mrrByCurrency

Attributed MRR of the currently active entitlements, grouped per currency.

Array<object>

An amount in one currency. Amounts in different currencies must never be summed.

object
currency

ISO 4217 code (e.g. “EUR”).

string
amount
number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeRevenue

Attributed relative revenue of the currently active entitlements on relative-priced plans: the sum of the weights their plans carry. Unitless — never rendered as money, and never added to a currency amount.

number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeRevenueSharePercent

This row’s share of the report’s totalRelativeRevenue, as a percentage. Computed at report time rather than keyed in, so the shares add up to 100 on their own — to 2 decimal places, which is where they are rounded — and survive plans being added or removed. Zero when the report carries no relative revenue.

number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeActiveCount

Active attributed entitlements counted into RelativeRevenue.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
freeActiveCount

Active attributed entitlements on plans that capture nothing — priced 0, or weighted 0 in relative units.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
unpricedActiveCount

Active attributed entitlements whose plan has no price, no weight, or could not be resolved — excluded from both revenue figures, not counted as free.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
unattributed

Entitlements with no acquisition attribution; CampaignId is null on this row.

object
campaignId

Null on the Unattributed row.

null | string format: uuid
name
string
code
string
isRunning

True when the campaign is enabled and inside its window at generation time.

boolean
isDeleted

True when the campaign has been deleted; its history stays visible.

boolean
entitlementsIssued

Entitlements issued in the range whose acquisition attribution is this campaign.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
issuedSeries

Issued count per bucket, oldest first, bucketed by the requested period.

Array<object>

One bucket of a count time series.

object
bucket

Start of the bucket (UTC).

string format: date-time
count
integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
currentlyActive

Entitlements attributed to this campaign that are currently active.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
trialsStarted

Of the issued cohort, entitlements that carried a trial policy.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
trialsConverted

Of the issued cohort, trials whose window has elapsed while the entitlement stayed published.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
planOverrideTouches

Temporary plan overrides applied under this campaign within the range.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
addOnGrantTouches

Add-on grants made under this campaign within the range.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
mrrByCurrency

Attributed MRR of the currently active entitlements, grouped per currency.

Array<object>

An amount in one currency. Amounts in different currencies must never be summed.

object
currency

ISO 4217 code (e.g. “EUR”).

string
amount
number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeRevenue

Attributed relative revenue of the currently active entitlements on relative-priced plans: the sum of the weights their plans carry. Unitless — never rendered as money, and never added to a currency amount.

number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeRevenueSharePercent

This row’s share of the report’s totalRelativeRevenue, as a percentage. Computed at report time rather than keyed in, so the shares add up to 100 on their own — to 2 decimal places, which is where they are rounded — and survive plans being added or removed. Zero when the report carries no relative revenue.

number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
relativeActiveCount

Active attributed entitlements counted into RelativeRevenue.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
freeActiveCount

Active attributed entitlements on plans that capture nothing — priced 0, or weighted 0 in relative units.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
unpricedActiveCount

Active attributed entitlements whose plan has no price, no weight, or could not be resolved — excluded from both revenue figures, not counted as free.

integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
totalsByCurrency

Attributed MRR across all campaigns, grouped per currency.

Array<object>

An amount in one currency. Amounts in different currencies must never be summed.

object
currency

ISO 4217 code (e.g. “EUR”).

string
amount
number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
totalRelativeRevenue

Attributed relative revenue across all campaigns — the denominator every row’s RelativeRevenueSharePercent is taken against. Unitless weights, so it belongs in no currency and must never be shown as an amount.

number | string format: double
/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/
mixesPricingModes

True when this report draws on both money-priced and relative-priced plans. The two are different units: display them apart, and never add or compare them.

boolean

Bad Request

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string

Unauthorized

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string

Forbidden

object
type
null | string
title
null | string
status
null | integer | string format: int32
/^-?(?:0|[1-9]\d*)$/
detail
null | string
instance
null | string