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 booking or invoice event date to include (RFC3339 or YYYY-MM-DD) |
endDate | query | string | no | Latest booking or invoice event date to include (RFC3339 or YYYY-MM-DD); must be on or after startDate |
partner | query | string | no | Marketplace or direct-sales channel to include |
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 | |
bookingCount | integer | no | |
bookings | 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
Example
Generated from this operation's schema. Values are placeholders —
substitute your own ids, and set SUGER_TOKEN to a bearer token
from the OAuth client-credentials exchange.
Request
curl -X GET 'https://api.suger.cloud/org/{orgId}/revenue/dashboard/summary' \
-H "Authorization: Bearer $SUGER_TOKEN" Response — 200
{
"alerts": {
"overdueAmount": 100,
"overdueInvoices": 1,
"totalIssues": 1,
"unbilledDeals": 1,
"unmatchedPayments": 1
},
"billingPercentOfBookings": 100,
"bookingCount": 1,
"bookings": 100,
"byChannel": {},
"byLifecycleStage": {},
"cashCollectedCount": 1,
"cashPercentOfBillings": 100,
"channelMix": [
{
"amount": 100,
"channel": "string",
"share": 100
}
],
"currency": "USD",
"deferredRevenue": 100,
"disbursedPercentOfCollected": 100
} Error — 400
{} View as Markdown · Interactive API reference
Spotted something wrong or out of date on this page? Tell us and we'll correct it.