webhook.party Documentation

Complete guide to webhook testing and management

Overview

webhook.party is a minimalist webhook testing service. Create password-protected channels, receive webhooks, inspect payloads, and view Markdown content all in one place.

Key Features:

Getting Started

1. Create a Channel

Go to the homepage and create a channel with a secure password (min. 6 chars). You'll get:

2. Send Your First Webhook

curl -X POST http://localhost:3000/abc12345 \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello webhook.party!"}'

3. View Webhooks

Open your channel at http://localhost:3000/h/abc12345, enter your password, and see incoming webhooks in real-time.

Channel Management

Password Protection on Webhooks

Optional: Require a separate password when posting webhooks to your channel.

Setup: When creating a channel, check "Protect webhooks with password" and set a separate webhook password. This is different from your channel password.

Why two passwords? Your CI/CD system can post webhooks without needing the admin channel password.

Send webhook with password:

# Query parameter
curl -X POST http://localhost:3000/abc12345?password=webhook-secret \
  -H "Content-Type: application/json" \
  -d '{"data": "value"}'

# Header
curl -X POST http://localhost:3000/abc12345 \
  -H "X-Webhook-Password: webhook-secret" \
  -H "Content-Type: application/json" \
  -d '{"data": "value"}'

Auto-Deletion

Channels are automatically deleted 100 days after the last webhook is received. You can manually delete a channel anytime from its page or dashboard.

Dashboard

Visit /dashboard.html to manage all your channels:

Webhook Content Types

JSON Webhooks (Default)

Send structured JSON data:

curl -X POST http://localhost:3000/abc12345 \
  -H "Content-Type: application/json" \
  -d '{
    "status": "success",
    "user_id": 123,
    "timestamp": "2024-08-12T19:30:00Z"
  }'

Displayed as formatted JSON in the channel view.

Markdown Webhooks

Send and render Markdown content:

curl -X POST http://localhost:3000/abc12345?markdown=true \
  -H "Content-Type: text/markdown" \
  -d "# Deployment Successful

- Service: api-v2
- Version: 1.2.3
- Status: OK"

Or use Content-Type: text/markdown header for auto-detection.

Rendered as formatted HTML in the channel view with support for:

Use Cases

GitHub/GitLab Webhooks

Test webhook payloads from version control systems:

GitHub Settings → Webhooks → Add webhook
Payload URL: https://webhook.party/webhook/your-channel-id
Content type: application/json

Monitoring & Alerts

Send Markdown alerts from monitoring systems:

#!/bin/bash
curl -X POST https://webhook.party/alerts \
  -H "Content-Type: text/markdown" \
  -d "# ALERT: CPU High

Server: prod-01
CPU: 95%
Action: Scaling up instances"

CI/CD Integration

Capture deployment logs and notifications:

# In your CI/CD pipeline
curl -X POST https://webhook.party/deployments?password=$WEBHOOK_PASSWORD \
  -H "Content-Type: application/json" \
  -d '{
    "pipeline": "'$CI_PIPELINE_ID'",
    "status": "success",
    "branch": "'$CI_COMMIT_BRANCH'",
    "duration": "'$CI_JOB_DURATION's"
  }'

Testing Integrations

Quickly test how your application handles incoming webhooks without complex setup.

API Reference

All Endpoints Summary

Status Codes

Best Practices

Security

Webhook Design

Channel Management

Limitations & Notes

Troubleshooting

403 Password Required Error

If your channel has password protection enabled on webhooks:

404 Channel Not Found

Double-check your channel ID. It must be exactly 8 characters.

Markdown Not Rendering

Ensure you're using ?markdown=true or Content-Type: text/markdown.

Channel Deleted Unexpectedly

Channels auto-delete after 100 days without incoming webhooks. Send a webhook to reset the timer.