01
Webhook Catch URL (Public)
Receive Webhook Requests
ANY https://provider.tools/webhooks/{token}
Authentication: None required (public endpoint)
Methods: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
Response: Returns the configured custom response (default: 200 OK)
Side Effect: The request is stored and visible in the Webhook Tester UI
Example
curl -X POST https://provider.tools/webhooks/a3f8b2c1d9 \
-H "Content-Type: application/json" \
-d '{"event": "order.completed", "order_id": 42}'
# Response: 200 OK (or your custom response)
02
Management API (Authenticated)
All management endpoints require authentication via session cookie.
List Endpoints
GET /api/webhook/endpoints
Response:
{
"success": true,
"endpoints": [
{
"id": "uuid",
"token": "a3f8b2c1d9",
"label": "My Test Webhook",
"responseStatus": 200,
"requestCount": 42,
"createdAt": "2025-01-01T00:00:00Z"
}
]
}
Create Endpoint
POST /api/webhook/endpoints
Body: { "label": "My Webhook" } // optional
Response:
{
"success": true,
"endpoint": { "id": "uuid", "token": "a3f8b2c1d9", ... }
}
Update Endpoint Settings
PUT /api/webhook/endpoints/{id}
Body: {
"label": "Updated Name",
"responseStatus": 201,
"responseBody": "{\"ok\": true}",
"responseType": "application/json",
"cors": true,
"timeout": 500
}
Delete Endpoint
DELETE /api/webhook/endpoints/{id}
List Captured Requests
GET /api/webhook/endpoints/{id}/requests?limit=100&since=2025-01-01T00:00:00Z
Clear All Requests
DELETE /api/webhook/endpoints/{id}/requests