Aller au contenu

Dashboard API

Ce contenu n’est pas encore disponible dans votre langue.

GET /api/v1/dashboard returns the figures behind the Command center: today’s monitored value, the 24-hour money flow, the four-week alert heatmap, rule performance, the latest transactions and current throughput. The web app calls it every 10 seconds. Use it to feed your own management dashboard or a wall screen.

Who can call it A signed-in person with alerts.view (by default every compliance role; not the Administrator). API keys can’t call it
How to sign in with curl As described in Rules API: before you start
Time zone “Today” and the heatmap use your workspace’s time zone, returned in timezone
Money Amounts are whole numbers of minor units (pesewas for GHS): 48200000 means GHS 482,000.00. Totals are in your base currency; the latest transactions keep their own currency
Terminal window
curl -s -b ~/.sp-cookies "$SP/api/v1/dashboard"
{
"timezone": "Africa/Accra",
"today": {
"in_minor": 18450071,
"out_minor": 29752500,
"count": 222,
"flagged_count": 11,
"flagged_minor": 43144000,
"vs_last_week_pct": 12.4
},
"flow_24h": [
{ "hour": "2026-10-08T11:00:00Z", "in_minor": 120000, "out_minor": 98050 }
],
"alert_heat_28d": [[0, 0, 1, 0, …], …],
"rules_30d": [
{ "id": "01a1…", "library_key": "B2", "name": "Cash-in split across agents", "hits": 12, "closed_alerts": 5, "confirmed_rate": 0.4 }
],
"recent": [
{
"id": "01a1…",
"occurred_at": "2026-10-09T09:41:07Z",
"customer": "Akosua Owusu",
"counterparty": "Coastal Estates Ltd",
"direction": "out",
"channel": "bank_transfer",
"amount_minor": 2650000,
"currency": "GHS",
"rules": ["A1"],
"score": 70
}
],
"tps_1m": 7.2
}

Figures are illustrative.

Everything since midnight today in the workspace’s time zone.

Field Meaning
in_minor, out_minor Total value of completed transactions received by, and sent by, your customers, in base-currency minor units. The Command center’s Value monitored today is their sum
count How many completed transactions happened today
flagged_count How many of today’s transactions at least one rule in its active slot recorded a hit on, whatever the rule’s action (including tag, score_only and allow). Shadow hits don’t count
flagged_minor The total value of those flagged transactions
vs_last_week_pct How today’s value so far (in plus out) compares with the same part of the day seven days ago, in percent: 12.4 means 12.4% higher, -8 means 8% lower. Left out when last week’s figure was zero

24 points, one per hour, oldest first and ending with the current hour. Each has hour (the start of the hour, as a timestamp), in_minor and out_minor (completed transactions, base currency). Hours with no activity are present with zeros. Display hour in the workspace’s timezone.

Seven rows, Monday first, each with 24 numbers for hours 00 to 23 in the workspace’s time zone. Each number is how many alerts had their first hit in that weekday and hour during the last 28 days, whatever their status now.

Up to eight running (enabled) rules, the most hits first, then by name.

Field Meaning
id The rule’s id; open it at /rules/{id} in the app
library_key The library code such as A1 or G4. Empty for custom rules
name The rule’s name
hits Hits in the last 30 days from the rule’s active slot (shadow hits excluded)
closed_alerts Alerts this rule contributed to that were closed in the last 90 days
confirmed_rate Of those closed alerts, the share not closed as false positive, from 0 to 1. Left out when closed_alerts is 0

The 12 transactions SpeculaPro received most recently (from the last two days), newest first. Unlike the totals above, these include transactions in any status.

Field Meaning
id, occurred_at The transaction and when it happened
customer Your customer’s name, or their reference when no name is held. Left out if your role lacks entities.view
counterparty The other party’s name or masked identifier. Left out if your role lacks entities.view
direction in, out or internal
channel For example momo, bank_transfer, card
amount_minor, currency The amount in the transaction’s own currency
rules Library keys (or rule keys, for custom rules) of every active-slot rule that fired on it. Empty means clear
score The highest score among those hits, 0 when none fired

Transactions received per second, averaged over the last minute.

Status When
401 Not signed in, or called with an API key
403 Your role lacks alerts.view, or your account setup (two-factor or a password change) isn’t finished
5xx A server failure; quote the reference. See When the server fails