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

    StatusMeaning
    pendingReceived but not yet forwarded
    deliveredForwarded, destination returned 2xx
    failedForward failed (4xx / 5xx / timeout / network error)
    capturedStored, 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:

    • 1
      Dashboard activity feed — live terminal-style feed showing the last 50 events across all endpoints. Auto-polls every 5 seconds.
    • 2
      Endpoint detail page — events filtered to a single endpoint. Click an endpoint card on the Webhooks page.
    • 3
      Event 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.