Get revenue dashboard summary
GET https://api.suger.cloud/org/{orgId}/revenue/dashboard/summary
Aggregate unified revenue records across every connected channel into dashboard totals: billed, collected, and disbursed amounts, a per-channel mix, a trend series, and open alerts, all converted to one base currency. Use this for the top-level revenue overview. GetRevenueDashboardMetrics returns the recurring-revenue KPIs (ARR, MRR, waterfall) instead.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
startDate | query | string | no | Earliest invoice date to include (RFC3339 or YYYY-MM-DD) |
endDate | query | string | no | Latest invoice date to include (RFC3339 or YYYY-MM-DD); must be on or after startDate |
groupBy | query | string | no | Trend grouping (defaults to month) |
baseCurrency | query | string | no | ISO 4217 code the amounts are converted to (defaults to the organization's base currency) |
Responses
200 — OK
Content-Type: application/json · Schema: RevenueDashboardSummaryResponse
RevenueDashboardSummaryResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
alerts | RevenueDashboardAlertsSummary | no | |
billingPercentOfBookings | number | no | |
byChannel | object | no | |
byLifecycleStage | object | no | |
cashCollectedCount | integer | no | |
cashPercentOfBillings | number | no | |
channelMix | array<RevenueDashboardChannelMixRow> | no | |
currency | string | no | |
deferredRevenue | number | no | |
disbursedPercentOfCollected | number | no | |
invoiceCount | integer | no | |
pendingDisbursementAmount | number | no | |
recognizedRevenue | number | no | |
recordCount | integer | no | |
totalRevenue | number | no | |
trend | array<RevenueDashboardTrendPoint> | no | |
trendTotal | number | no | |
trendTotals | RevenueDashboardTrendTotals | no |
RevenueDashboardAlertsSummary fields:
| Field | Type | Required | Description |
|---|---|---|---|
overdueAmount | number | no | |
overdueInvoices | integer | no | |
totalIssues | integer | no | |
unbilledDeals | integer | no | |
unmatchedPayments | integer | no |
RevenueDashboardChannelMixRow fields:
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | no | |
channel | string | no | |
share | number | no |
RevenueDashboardTrendPoint fields:
| Field | Type | Required | Description |
|---|---|---|---|
billings | number | no | |
bookings | number | no | |
collected | number | no | |
disbursed | number | no | |
key | string | no | |
label | string | no | |
recognized | number | no |
RevenueDashboardTrendTotals fields:
| Field | Type | Required | Description |
|---|---|---|---|
billings | number | no | |
bookings | number | no | |
collected | number | no | |
disbursed | number | no | |
recognized | number | no |
400 — Invalid baseCurrency, date, or date range
Content-Type: application/json
401 — Missing or invalid access token, or the caller lacks the revenue read permission
Content-Type: application/json
500 — Failed to query the dashboard data
Content-Type: application/json
View as Markdown · Interactive API reference
Spotted something wrong or out of date on this page? Tell us and we'll correct it.