HookGet Open dashboard

Debugging a failing delivery

Reading the timeline: what each status code usually means and what to do about it.

In short

  • Start from the attempt timeline: status, latency and the response body are all recorded.
  • A 401 usually means a rotated secret; a timeout usually means work done before acknowledging.
  • Endpoint health gives success rate and latency percentiles over the last day.

Read the timeline first

Each attempt records the HTTP status, the response time, an error class when there was no status, and the first kilobyte of the body. Most questions are answered before you open a log on the other side.

curl https://api.hookget.com/v1/events/msg_…/attempts -H "authorization: Bearer $HOOKGET_KEY"

What the usual answers mean

SymptomMost common causeWhat to do
401 or 403 from the destinationThe consumer is verifying against an old secretCheck whether the secret was rotated and the consumer still holds the previous one
Signature mismatch reported by the consumerThe body was parsed and re-serialised before verificationVerify over the raw bytes
TimeoutsThe consumer does its work before answeringAcknowledge first, process after
Intermittent 5xxA deploy or a dependency of the consumerNothing — the retry schedule is for exactly this
Everything failing since a fixed momentDNS, certificate expiry or a firewall changeCheck the destination directly from outside your network
Nothing attempted at allNo active destination subscribes to that event typeCheck the event-type filter on the destination

Endpoint health

curl https://api.hookget.com/v1/endpoints/ep_…/health -H "authorization: Bearer $HOOKGET_KEY"

# success rate over 24h, p50 and p95 latency, consecutive failures,
# and the reason if it has been disabled

An assistant can do the same reading: the MCP server exposes a diagnose tool that combines the URL check, the breaker state and the health figures into a verbal verdict.