@nova-sdk/api
import { Nova } from "@nova-sdk/api";
const nova = new Nova({
apiKey: "sk_test_...",
tenantId: "acme-corp",
});
const overview = await nova.analytics.overview({ timeRange: "24h" });curl -X GET "https://embed.nova.dweet.com/v1/analytics/overview?timeRange=24h" \
-H "Authorization: Bearer sk_test_..."{
"period": {
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z"
},
"scoring": {
"totalRequests": 123,
"successRate": 123,
"avgDurationMs": 123,
"scoresGenerated": 123
},
"webhooks": {
"deliveryRate": 123,
"totalDeliveries": 123
}
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Analytics
Get Analytics Overview
KPI summary of scoring performance and webhook delivery
GET
/
v1
/
analytics
/
overview
@nova-sdk/api
import { Nova } from "@nova-sdk/api";
const nova = new Nova({
apiKey: "sk_test_...",
tenantId: "acme-corp",
});
const overview = await nova.analytics.overview({ timeRange: "24h" });curl -X GET "https://embed.nova.dweet.com/v1/analytics/overview?timeRange=24h" \
-H "Authorization: Bearer sk_test_..."{
"period": {
"start": "2023-11-07T05:31:56Z",
"end": "2023-11-07T05:31:56Z"
},
"scoring": {
"totalRequests": 123,
"successRate": 123,
"avgDurationMs": 123,
"scoresGenerated": 123
},
"webhooks": {
"deliveryRate": 123,
"totalDeliveries": 123
}
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}{
"type": "<string>",
"code": "UNAUTHORIZED",
"status": 123,
"message": "<string>",
"retryable": true,
"traceId": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>"
}
]
}Returns a high-level summary of your scoring activity and webhook delivery for the given time range. Useful for building dashboards or periodic health checks.
This endpoint requires only a valid API key.
X-Tenant-Id isn’t required.
Query parameters
| Parameter | Required | Values | Description |
|---|---|---|---|
timeRange | Yes | 1h, 24h, 7d, 30d, 90d | Lookback window for the data |
Example response
{
"period": {
"start": "2026-03-07T00:00:00.000Z",
"end": "2026-03-08T00:00:00.000Z"
},
"scoring": {
"totalRequests": 1420,
"successRate": 0.97,
"avgDurationMs": 1180,
"scoresGenerated": 1378
},
"webhooks": {
"deliveryRate": 0.99,
"totalDeliveries": 2756
}
}
Response fields
| Field | Type | Description |
|---|---|---|
period.start | string | ISO 8601 start of the period |
period.end | string | ISO 8601 end of the period |
scoring.totalRequests | integer | Total scoring jobs submitted |
scoring.successRate | number | Fraction of jobs that completed successfully (0 to 1) |
scoring.avgDurationMs | number | null | Average end-to-end scoring duration in milliseconds. null if no completed jobs |
scoring.scoresGenerated | integer | Total scores produced |
webhooks.deliveryRate | number | Fraction of webhooks delivered successfully (0 to 1) |
webhooks.totalDeliveries | integer | Total webhook delivery attempts |
Responses are cached for 60 seconds (
Cache-Control: private, max-age=60). This endpoint is rate-limited under the analytics bucket (20 req/s).Authorizations
Use Authorization: Bearer sk_test_* or Authorization: Bearer sk_live_*.
Query Parameters
Time range for the analytics query Time range for analytics queries.
Available options:
1h, 24h, 7d, 30d, 90d Was this page helpful?