Events / Viewing Events
Events
Every incoming HTTP request to your webhook URL is stored as an event. Events are immutable — they represent exactly what was received.
Event statuses
| Status | Meaning |
|---|---|
| pending | Received but not yet forwarded |
| delivered | Forwarded, destination returned 2xx |
| failed | Forward failed (4xx / 5xx / timeout / network error) |
| captured | Stored, no destination URL configured |
Event object
Every event stored by Paggio has the following shape:
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"endpoint_id": "endpoint-uuid",
"user_id": "user-uuid",
"source": "stripe",
"event_type": "payment_intent.succeeded",
"method": "POST",
"headers": {
"content-type": "application/json",
"stripe-signature": "t=1234567890,v1=abc...",
"user-agent": "Stripe/1.0 (+https://stripe.com/docs/webhooks)"
},
"payload": {
"id": "evt_1234",
"type": "payment_intent.succeeded",
"data": { "object": { "amount": 2000 } }
},
"remote_addr": "54.187.205.235",
"status": "delivered",
"response_status": 200,
"response_body": "{\"received\": true}",
"latency_ms": 142,
"received_at": "2024-03-10T15:23:41.000Z"
}Viewing events
Events are visible in multiple places:
- 1Dashboard activity feed — live terminal-style feed showing the last 50 events across all endpoints. Auto-polls every 5 seconds.
- 2Endpoint detail page — events filtered to a single endpoint. Click an endpoint card on the Webhooks page.
- 3Event detail page — click any event row to see the full payload, headers, response, and replay controls.
Event detail page
The event detail page at /dashboard/events/:eventId shows:
Left column
- · Source badge, event type, status pill
- · Timestamp, event ID, latency
- · Payload tab (syntax-highlighted JSON)
- · Headers tab (filterable table)
- · Response tab (status code + body)
Right column
- · Environment selector (original / staging / local / custom)
- · Custom URL input
- · Replay button (press R)
- · Replay history with status + latency
Keyboard shortcut:Press R on the event detail page to trigger a replay instantly.
Event retention
During beta, all events are retained indefinitely. No automatic deletion. We'll announce retention policies before removing any data.