Receiving Events
Every webhook sent to webhook.rodeo becomes an event—a complete record of the HTTP request that you can inspect, replay, and forward. Understanding how events work is key to getting the most out of webhook.rodeo.
How events are received
When a service sends a webhook to your webhook.rodeo URL:
POST https://webhook.rodeo/w/your-username/webhook-name
Here's what happens in milliseconds:
- Rate limit check - Verifies you haven't exceeded your plan's rate limit
- Payload validation - Ensures the payload is under 4.5MB
- Request capture - Stores all headers and body data
- Unique ID assignment - Generates a unique
requestIdfor tracking - Queue for processing - Adds to your personal queue for async handling
- Immediate response - Returns
200 OKwith therequestId
The webhook sender gets an instant response, and webhook.rodeo processes the event in the background—ensuring fast responses even for complex forwarding logic.
What gets captured
Every webhook event captures:
Request Headers
All HTTP headers sent by the webhook source, including:
Content-Type- How the body is encodedUser-Agent- The client sending the webhookX-Hub-Signature(GitHub) or similar - Signature headers- Custom headers specific to the sending service
Request Body
The complete payload, whether it's:
- JSON (most common)
- XML
- Form data (
application/x-www-form-urlencoded) - Plain text
- Binary data
Metadata
Additional context captured automatically:
- Client IP - The source IP address
- Timestamp - When the event arrived (UTC)
- Request ID - Unique identifier (
req_...) - Signature status - Whether verification passed (if enabled)
Here's an example of a captured event:
{
"id": "evt_abc123",
"request_id": "req_xyz789",
"webhook_id": "webhook_uuid",
"client_ip": "140.82.115.1",
"request_headers": {
"content-type": "application/json",
"user-agent": "GitHub-Hookshot/abc123",
"x-github-delivery": "12345678-1234-1234-1234-123456789012",
"x-github-event": "push",
"x-hub-signature-256": "sha256=..."
},
"request_body": "{\"ref\":\"refs/heads/main\",\"commits\":[...]}",
"content_type": "application/json",
"signature_valid": true,
"created_at": "2024-01-15T10:30:00Z"
}
Limits
webhook.rodeo enforces limits to ensure fair usage and system stability:
- Payload size: Maximum 4.5MB per webhook
- Rate limits: Based on your plan (10 to 1,500 requests per minute)
- Event retention: 30 days (Free) to forever (Pro)
If a webhook exceeds payload or rate limits, it will be rejected with an appropriate error response. For detailed information about all limits, pricing tiers, and examples of limit responses, see our Limits documentation.
Viewing events
Once events are captured, you can view them in multiple places:
Dashboard overview
Your main dashboard shows recent events across all webhooks:
- Event timestamp
- Webhook name
- Status (success/failed)
- Quick payload preview
Webhook events page
Click on any webhook to see its events:
- Filterable by status (all, success, failed)
- Sortable by date
- Shows delivery attempts and status
- Click any event to see full details
Event detail page
Click on an event to see everything:
Request section:
- All headers (formatted and searchable)
- Full body with JSON syntax highlighting
- Request ID and timestamp
- Client IP address
- Signature verification status
Delivery section:
- All forward attempts
- Response status codes
- Response headers and bodies
- Latency measurements
- Retry information
Actions:
- Replay the event
- Copy request ID
- Export as JSON