Expose Webhook Inspector

Your Webhook Endpoint

Requests sent to this URL will be captured and displayed below in real-time.

How Webhooks Work

⚡️

Full Method Support

Unlike traditional bins, we natively support all HTTP methods including GET, POST, and PUT. Perfectly capture verification callbacks and pings without extra configuration.

🔗

Easy Sharing

Share your unique bin URL with teammates or integrations to collaborate in real-time. Debugging complex webhooks is faster when everyone sees the same live stream.

📦

Ephemeral Storage

The inspector acts as an ephemeral in-memory debugging tool. We buffer the most recent 100 payloads for deep inspection, preventing unnecessary database bloat.

Quickstart: Setting up a GitHub Webhook

You can use this tool to instantly debug incoming payloads from services like Stripe, Slack, or GitHub. Let's configure a GitHub repository as an example:

  1. Click the Copy button at the top to grab your unique Webhook Endpoint (e.g., https://hook.expose.host/ID).
  2. Navigate to your service's settings (e.g., GitHub -> Settings -> Webhooks).
  3. Paste your copied URL into the Payload URL field.
  4. We support GET callbacks! If your service needs to verify a URL via a simple GET request, this tool will capture and display the verification ping instantly.
  5. Share the Viewer URL (found in your browser's address bar) with colleagues to debug the same stream together.

Navigating the Interface

Once a request is intercepted, the dashboard breaks down the transmission gracefully:

Connection Status

The pulsing indicator at the top right confirms your browser has an active Server-Sent Event (SSE) stream natively piped open to our Golang backend.

Request Stream (Left Pane)

As webhooks arrive, they stack here chronologically. Quickly scan the HTTP Method (e.g., POST, GET), precise arrival timestamp, and origin IP address.

Inspector (Right Pane)

Clicking any payload dynamically breaks apart its context. You can fully inspect deeply nested JSON bodies, query parameters, and raw HTTP connection Headers.

CURL Testing

Prefer testing manually? Send a payload from your terminal to see it rendered across all your connected browsers immediately:

# Test a standard JSON POST curl -X POST https://hook.expose.host/5c13bc942e \ -H "Content-Type: application/json" \ -d '{"event":"user.created", "data": {"id": 123}}' # Test a simple GET callback curl -X GET "https://hook.expose.host/5c13bc942e?verify=true&token=abc"

Service Limits

To ensure lightning-fast proxying and prevent abuse, the following data lifecycle limits apply natively to all webhook endpoints natively:

  • Data Retention (Count): We keep a sliding window of your 100 most recent payloads. Older payloads are automatically shifted out.
  • Payload Size Limit: Incoming webhook bodies are hard-capped at 16 KB. Oversized logging webhooks are rejected.
  • Message TTL: Your captured payload events are kept ephemerally for a maximum of 24h before being wiped from the datastore.