Dashboard
Endpoint reference: ✅ Verified live against production on 10 May 2026. Two endpoints power the holder’s headline dashboard: a static counter snapshot, and a date-ranged time-series for charts.
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
GET | /dapp/dashboard/summary | API-key + sig | Counters: clients, orders, products, profit |
GET | /dapp/dashboard/analytics | API-key + sig | Time-series for one of: Client / Order / Profit |
GET /dapp/dashboard/summary — counter snapshot
The headline numbers for a holder’s home page. Cheap call, no params.
Canonical payload
{}
Response shape (verified)
| Field | Type | Meaning |
|---|---|---|
clientCount | int | Total clients owned by this holder, all statuses |
orderCount | int | Total orders placed against this holder, all statuses |
productCount | int | Strain catalogue size for the holder’s region |
estimateProfit | number (USD) | Lifetime profit estimate including pending |
totalProfit | number (USD) | Lifetime profit accrued |
profitRecieved | number (USD) | Profit actually paid out (typo preserved — see below) |
⚠️profitRecievedis misspelled in the API. It’s missing the seconde— should beprofitReceivedbut the production API returnsprofitRecieved. Do not auto-correct in your code or you’ll silently getundefined. Document the field as-is in your TypeScript types:
🪲estimateProfitandtotalProfitare equal in the verified data. Backend likely treats them as separate concepts (e.g. estimate includes deductions / pending) but the values match in practice. UsetotalProfitfor display.
🪲profitRecieved: 0when no payouts have occurred. Use this to show “X% of your earnings paid out” —(profitRecieved / totalProfit) * 100.
Worked example (Python)
GET /dapp/dashboard/analytics — time-series
Returns a [{name, value, date}] array suitable for a line or bar chart. Choose what to plot via filterBy.
Required query parameters
| Name | Type | Format | Notes |
|---|---|---|---|
startDate | string | ISO 8601 datetime | E.g. 2026-04-10T00:00:00.000Z — note this is not the same format as the other chart endpoints which use YYYY-MM-DD |
endDate | string | ISO 8601 datetime | E.g. 2026-05-10T23:59:59.999Z |
filterBy | string | Enum | One of: Client, Order, Profit (case-sensitive) |
🪲 Date format mismatch. This endpoint requires ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ); the chart endpoints on individual resources (/dapp/orders/chart-dataetc.) use plainYYYY-MM-DD. Two formats in the same API. Mind it.
Error if missing or wrong (verified)
Canonical payload
urlencode(query) — e.g. startDate=2026-04-10T00:00:00.000Z&endDate=2026-05-10T23:59:59.999Z&filterBy=Order
Response shape (verified)
A flat array, no envelope wrapper at the data level —data is the array itself, not { analytics: [...] }.
| Field | Type | Notes |
|---|---|---|
name | string | Day-of-week label (Monday, Tuesday, …) |
value | number | Count or amount, depending on filterBy |
date | string (ISO 8601) | The day this bucket represents |
filterBy=Profit, value is in USD (e.g. 66 = $66 profit on that day).
For filterBy=Client, value is the count of clients created that day.
For filterBy=Order, value is the count of orders placed that day.
🪲nameis the weekday name, not the date. If your chart spans more than 7 days, you’ll see repeated names (Monday,Monday,Monday). Always usedatefor the X-axis, notname.nameis presumably for a “this week” view but isn’t very useful otherwise.
⚠️ Empty days are not returned. If no clients/orders/profit on a day, that day is missing from the array. To render a continuous chart, fill gaps client-side:
Worked example (cURL)
Common patterns
Holder’s home dashboard
Combine the summary endpoint with a 30-day analytics chart:Don’t render profitRecieved in account ledgers
It’s a snapshot of cumulative payouts, not a transaction list. For an actual ledger, use /dapp/commissions?paymentStatus=PAID.
Caching guidance
| Endpoint | TTL |
|---|---|
| Summary | 1 minute |
| Analytics | 5 minutes (per-filterBy per-date-range) |
See also
- Commissions — payout detail behind
profitRecieved - Orders — driver of
orderCountandtotalProfit - Clients — driver of
clientCount