# 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`

---

Interactive API reference: https://doc.suger.io/api/
