Skip to content

Get an endpoint's performance stats​

GET
/v1/endpoints/{id}/stats

How one inbound endpoint is doing over the last 24 hours, 7 days or 30 days, up to now: how much it received, how much was delivered and failed, the success rate, delivery latency, when it last received a request, a time series (24 one-hour buckets for 24h, one-day buckets for 7d/30d, measured back from now), and a per-destination breakdown. These are the same numbers the console shows for the endpoint and window. Use it to show a webhook's health in your own product without keeping your own counters.

The numbers come from the hourly rollups Emithook already computes, so they trail live traffic by up to a few minutes (rollup_fresh_at says when the rollups last moved); last_received_at is live. Per-destination numbers count only THIS endpoint's events, even when a destination is shared with other endpoints, and only events actually sent to it (a route filter's skips and mirror copies are left out). Latency is the delivery round-trip to your destinations; over more than one hour it is a volume-weighted mean of the hourly percentiles, not an exact window percentile. A rate with nothing settled yet is null, never 0.

To show these stats to someone without an API key, mint a signed page with getEndpointStatsEmbed.

Authorizations​

apiKey

Scoped API key. Scopes are read ⊂ write ⊂ admin. A call needing more scope than the key holds returns 403 insufficient_scope.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
string
Required

Query Parameters

window
Type
string
Valid values
"24h""7d""30d"
Default
"24h"

Responses​

The endpoint's stats for the window.

application/json
JSON
{
  
"endpoint": {
  
  
"id": "ep_01JX9",
  
  
"name": "Shopify orders",
  
  
"url": "https://wh.emhk.in/acme/shopify/orders",
  
  
"status": "string"
  
},
  
"window": "string",
  
"from": "string",
  
"to": "string",
  
"bucket_seconds": 3600,
  
"generated_at": "string",
  
"rollup_fresh_at": "string",
  
"last_received_at": "string",
  
"totals": {
  
  
"received": 13714,
  
  
"delivered": 13542,
  
  
"failed": 52,
  
  
"dlq": 0,
  
  
"retrying": 3,
  
  
"unrouted": 0,
  
  
"success_rate": 0.9962,
  
  
"verification": {
  
  
  
"passed": 0,
  
  
  
"failed": 0,
  
  
  
"none": 0
  
  
}
  
},
  
"latency_ms": {
  
  
"p50": 84,
  
  
"p95": 240,
  
  
"p99": 512
  
},
  
"series": [
  
  
{
  
  
  
"start": "string",
  
  
  
"received": 0,
  
  
  
"delivered": 0,
  
  
  
"failed": 0,
  
  
  
"dlq": 0
  
  
}
  
],
  
"destinations": [
  
  
{
  
  
  
"id": "dst_01JX9SQS",
  
  
  
"name": "string",
  
  
  
"type": "sqs",
  
  
  
"attempted": 0,
  
  
  
"delivered": 0,
  
  
  
"failed": 0,
  
  
  
"retrying": 0,
  
  
  
"success_rate": 0,
  
  
  
"latency_ms": {
  
  
  
  
"p50": 84,
  
  
  
  
"p95": 240,
  
  
  
  
"p99": 512
  
  
  
}
  
  
}
  
]
}

Playground​

Authorization
Variables
Key
Value

Samples​

Powered by VitePress OpenAPI

Emithook · a Finnoto product