Get the analytics overview
https://api.norreach.app/v1/analytics/overviewThe workspace's outreach at a glance: contacts added, messages sent and replies (and the different people behind them), AI calls and how many reached a person, meetings booked, and the campaigns running now. Over from–to (YYYY-MM-DD, UTC; default the last 30 days, at most 366 days). Read-only.
curl -X GET "https://api.norreach.app/v1/analytics/overview" \
-H "Authorization: Bearer $NORREACH_API_KEY"{
"object": "analytics_overview",
"from": "2026-10-07",
"to": "2026-11-05",
"contacts": {
"added": 214
},
"messages": {
"sent": 1830,
"replies": 97,
"people_reached": 640,
"people_replied": 71,
"reply_rate": 0.1109
},
"calls": {
"total": 120,
"connected": 46,
"connect_rate": 0.3833
},
"meetings": {
"booked": 18
},
"campaigns": {
"active": 4
},
"truncated": false
}Authorizations
Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope analytics:read. API keys and scopes
Query parameters
First day (YYYY-MM-DD, UTC; default 29 days before to).
Last day (YYYY-MM-DD, UTC; default today).
Response
200application/json— Get the analytics overview
First day (YYYY-MM-DD, UTC).
Last day (YYYY-MM-DD, UTC).
Show child attributesHide child attributes
Contacts created in the range.
Show child attributesHide child attributes
0..1 (four decimals); null when there is nothing to divide by.
Show child attributesHide child attributes
Calls that reached a person.
0..1 (four decimals); null when there is nothing to divide by.
Show child attributesHide child attributes
Meetings booked in the range (from every source).
Show child attributesHide child attributes
Campaigns running now.
true when a source held more rows than the people / per-day roll-ups read (10 000); the totals are exact counts either way.
Errors
Errors are application/problem+json with a stable code.
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | The request couldn't be read. |
| 400 | unknown_field | The request has a field this operation doesn't know. |
| 401 | unauthorized | A valid API key is required. |
| 403 | insufficient_scope | This API key doesn't have the scope this operation needs. |
| 403 | feature_not_enabled | The API isn't switched on for this workspace. |
| 422 | validation_failed | The request has invalid fields. |
| 429 | rate_limited | Too many requests. Slow down and try again. |
| 500 | server_error | Something went wrong on our side. |
| 503 | unavailable | The API isn't available right now. Try again shortly. |