Skip to content

Debugging

Webhook Endpoint Tester

Sends one real HTTP request from our server to your endpoint and shows exactly what came back.

  • Runs on our server
  • 2 units per run
Open the tool
You enter
A URL, a method, headers and a body.
You get
Status, time, size, response headers, a body preview and a matching curl command.
A good result
A 2xx status within a few hundred milliseconds.
On this page
  1. What it is for
  2. What you enter
  3. How it works
  4. Reading the results
  5. Example
  6. Limits and gotchas

#What it is for

When webhooks "do not arrive", find out whether the receiving side answers at all. The request comes from our server, so you see the same reachability a real callback would have.

#What you enter

  • Method: POST (default), GET or PUT.
  • URL: a public http or https address.
  • Headers: name and value rows. X-Test-Source: ekomejl-webhook-tester is added so the receiver can tell test calls apart.
  • Body type: JSON, form or text; at most 32 KB. JSON must be valid.
  • Timeout: 1 to 15 seconds, 8 by default.

Presets fill typical requests. Up to 5 of your own presets and the last 5 targets are kept in this browser.

#How it works

The server sends the request once, with a matching Content-Type if you did not set one, verifies the certificate and does not follow redirects. Host, Content-Length and similar headers are set by the server, not by you.

#Reading the results

  • 2xx (pass): the endpoint accepted the call.
  • 3xx or 4xx (warning): a redirect (use the final address instead) or a rejected request: check the path, authentication and body format.
  • 5xx or no response (fail): the endpoint crashed or could not be reached; the transport error is shown.

The body preview shows the first 4 KB, with JSON formatted. The Raw tab has everything as JSON.

#Example

JSON body
{"event":"signup","email":"person@example.com","list":"newsletter"}

Send it as POST to your endpoint. To see what a request looks like on the receiving side, point it at your Request Log Viewer address instead.

#Limits and gotchas

  • Private and internal addresses and bare IP addresses are refused.
  • Redirects are not followed, so a moved endpoint shows as a warning.