Skip to main content
GET
/
v1
/
analytics
/
webhook-health
nova-embed
import { Nova } from "nova-embed";

const nova = new Nova({
  apiKey: "sk_test_...",
  tenantId: "acme-corp",
});

const health = await nova.analytics.webhookHealth({ timeRange: "24h" });
{
  "period": {
    "start": "2023-11-07T05:31:56Z",
    "end": "2023-11-07T05:31:56Z"
  },
  "summary": {
    "deliveryRate": 123,
    "totalDeliveries": 123
  },
  "failureBreakdown": [
    {
      "endpointUrl": "<string>",
      "endpointName": "<string>",
      "failureCount": 123,
      "lastError": "<string>"
    }
  ]
}
Returns webhook delivery health: an overall delivery rate plus a per-endpoint failure breakdown. Useful for diagnosing delivery issues to specific webhook URLs. This endpoint requires only a valid API key. X-Tenant-Id isn’t required.

Query parameters

ParameterRequiredValuesDescription
timeRangeYes1h, 24h, 7d, 30d, 90dLookback window for the data

Example response

{
  "period": {
    "start": "2026-03-07T00:00:00.000Z",
    "end": "2026-03-08T00:00:00.000Z"
  },
  "summary": {
    "deliveryRate": 0.98,
    "totalDeliveries": 1420
  },
  "failureBreakdown": [
    {
      "endpointUrl": "https://api.example.com/webhooks/nova",
      "endpointName": "Production",
      "failureCount": 3,
      "lastError": "Connection refused"
    }
  ]
}

Response fields

FieldTypeDescription
period.startstringISO 8601 start of the period
period.endstringISO 8601 end of the period
summary.deliveryRatenumberFraction of webhooks delivered successfully (0 to 1)
summary.totalDeliveriesintegerTotal webhook delivery attempts
failureBreakdown[].endpointUrlstringThe webhook endpoint URL
failureBreakdown[].endpointNamestring | nullDisplay name for the endpoint (if configured)
failureBreakdown[].failureCountintegerNumber of failed deliveries to this endpoint
failureBreakdown[].lastErrorstring | nullMost recent error message
If failureBreakdown is empty, all webhook deliveries in the period succeeded.
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

Authorization
string
header
required

Use Authorization: Bearer sk_test_* or Authorization: Bearer sk_live_*.

Query Parameters

timeRange
enum<string>
required

Time range for the analytics query Time range for analytics queries.

Available options:
1h,
24h,
7d,
30d,
90d

Response

Webhook health

period
object
required
summary
object
required
failureBreakdown
object[]
required

Failures grouped by endpoint