Skip to main content

Campaign performance analytics

GET 

/v1/campaigns/:campaign_id/analytics

Everything the campaign Performance tab renders in a single fetch: the recovery funnel, the KPI tiles and the daily PTP series. There is no per-channel breakdown. The funnel and the tiles are generic arrays in display order, so one renderer serves every campaign type — a payment_recovery campaign returns long arrays plus daily_ptp, any other type returns a 2-stage funnel, a single metric and no daily_ptp key. Debt entries are gated on the campaign's type, not on whether its subscribers have linked debts. Promise metrics are produced by the agentic (NBA) flow, so they stay 0/null on non-agentic campaigns; right-party metrics can be populated on any campaign, since contact resolution also marks channel-vouched identities verified. Values with no data source in v1 are omitted from the response rather than returned as permanent nulls; a returned null means the value is not measurable for this campaign, which for a rate means its denominator was 0. Every rate is a 0-1 fraction (0.4 = 40%) rounded to 4 decimals; ppa is money, rounded to 2. Money is deduped per debt and summed across every currency the campaign's debts use. currency is the single ISO 4217 code those debts share, ignoring blank ones; it is null when they mix currencies, are all blank, when the campaign has no debts, or when it is not payment_recovery. Served from a short-lived cache rather than recomputed on every request, so the numbers are a bounded approximation and can be a few minutes behind. Permissions - campaigns.read. API keys - manage.

Request​

Responses​

Campaign performance analytics