Webhook Tester – inspect HTTP requests online

Get a unique URL, send webhooks to it (Stripe, GitHub, PayPal, SePay, your own app…) and inspect method, headers and body in real time.

Free, no sign-up. URL valid for 24 hours (30 days with an account).

The Webhook Tester gives you disposable endpoints (“bins”) to debug webhooks and HTTP callbacks. POST /v1/webhooks creates a bin and returns its receiving URL, https://apibox.io.vn/hook/<id>, plus a link to the live viewer. Point Stripe, GitHub, a payment gateway or your own service at that URL: it accepts any HTTP method and any sub-path, and stores the method, path, query string, headers, client IP, country and the body (up to 256 KB; binary bodies are stored as base64).

Read captured requests with GET /v1/webhooks/<id>/requests (newest first, limit 1–100, default 20). Pass since (ISO date or Unix seconds) to poll only for new requests. GET /v1/webhooks lists your active bins, PATCH /v1/webhooks/<id> changes the canned response the receiver sends back (response_status, response_body, response_content_type, name) so you can simulate errors and retries, DELETE /v1/webhooks/<id>/requests clears the history and DELETE /v1/webhooks/<id> removes the bin.

Bins created with an API key live 30 days. Each bin keeps its newest requests according to your plan – Free 50, Starter 500, Pro 2,000 – and you can have 2, 10 or 50 active bins on Free, Starter and Pro. The receiver accepts up to 60 requests per minute per bin.

Use this in your code

curl -X POST "https://apibox.io.vn/v1/webhooks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Stripe test","response_status":200,"response_body":"{\"received\":true}"}'

API documentation →

FAQ

How do I test a webhook without a public server?

Create a bin (POST /v1/webhooks, or use the online Webhook Tester), paste its https://apibox.io.vn/hook/<id> URL into the provider’s dashboard and trigger an event. The request appears in the viewer within seconds.

Can I change the response the webhook URL returns?

Yes. PATCH /v1/webhooks/<id> with response_status (100–599), response_body (up to 10,000 characters) and response_content_type. The default is 200 with {"ok":true}.

How long are captured requests kept?

Bins created via the API live 30 days and keep their newest 50 / 500 / 2,000 requests depending on your plan (Free / Starter / Pro). Older requests are removed automatically.