fax

the debug bin that goes BRRZZZT

Throw any HTTP request at a fax URL and watch it print, live.

Send a new fax

We prepend an 8-character random prefix so the URL stays unguessable. Example: /3f7a91c2-max-test

How to use

Every fax URL captures every HTTP request thrown at it (any method, any subpath). Open the same URL in a browser to watch requests arrive live.

Capture a request

curl -X POST https://fax.pyck.ai/YOUR-FAX-ID \
  -H "Content-Type: application/json" \
  -d '{"hello":"world"}'

Subpaths are preserved, so you can model real-looking endpoints:

curl -X PUT https://fax.pyck.ai/YOUR-FAX-ID/sap/orders/42 \
  -H "Content-Type: application/xml" \
  --data-binary @order.xml

Response

The fax always replies 200 OK with a tiny JSON envelope — even on oversized bodies (those get truncated and flagged). Callers never fail because of fax.

{
  "ok": true,
  "fax_id": "3f7a91c2-max-test",
  "request_id": "9d2b16fa84c3e577",
  "received_at": "2026-05-18T08:42:11Z",
  "truncated": false
}

Read captured requests programmatically

curl https://fax.pyck.ai/_api/fax/YOUR-FAX-ID/requests

Live stream (Server-Sent Events)

const es = new EventSource(
  "https://fax.pyck.ai/_api/fax/" + faxID + "/events"
);
es.addEventListener("request", (e) => {
  console.log("new fax", JSON.parse(e.data));
});

Caveats