DOCUMENTATION
General Hook runs a real Node.js server directly in your browser using WebAssembly. No installs, no cloud accounts, no ports to forward. Click RUN and you get a live public URL in seconds — share it, test against it, paste it into webhook settings.
Use it when you need to:
Define routes manually. Each route needs an HTTP method, a path, and a status code. The response body defaults to an empty object — click Edit body to set the exact JSON that endpoint will return.
Got an existing spec or export? Drop it in. General Hook detects the format automatically and extracts all routes — no manual entry needed.
| FORMAT | EXTENSIONS | NOTES |
|---|---|---|
| OpenAPI 3.x | .yaml, .yml, .json | Extracts first 2xx response per operation. Uses example fields or x-mock-response for bodies. |
| Swagger 2.0 | .json, .yaml | Respects basePath. Extracts response examples from the examples key or schema.example. |
| Postman Collection | .json | Supports v2.x collections including nested folders. Uses the first saved response example for the body and status. |
| Insomnia Export | .json | Supports v4 exports. Extracts method and path from each request resource. Bodies default to empty. |
| HAR | .har, .json | Captures real browser traffic. Deduplicates by method + path (first occurrence wins). Only JSON responses are used as bodies. |
| routes.json | .json | A plain JSON array of { method, path, status, body } objects. Simplest format for hand-crafted mocks. |
| Server file | .js | A raw Express server file. Runs as-is inside the pod. Must listen on port 3000. |
Sample files for every format are available in /test-files/ on the dev server.
Download them to test the upload flow end-to-end.
Build an OpenAPI 3.0 YAML specification from scratch. The preview updates live as you add endpoints and edit bodies. Use this to produce a spec you can hand off to your team, import into Postman, or feed to code generators.
openapi.yamlClicking RUN while on the Gen Spec tab boots a mock server using the spec's routes. Equivalent to building in the Builder tab then running — just with the extra YAML output.
Boots a dedicated webhook receiver — a server that captures every incoming HTTP request and logs it to a live dashboard. No routes to configure, no JSON to write.
1. Go to your repo → Settings → Webhooks → Add webhook
2. Paste the General Hook URL into "Payload URL"
3. Set Content type to application/json
4. Choose which events to send
5. Click Add webhook — GitHub will send a ping immediately
6. Open the dashboard URL to see the ping payload
General Hook uses BrowserPod — a WebAssembly runtime that runs Node.js 22 directly in your browser tab. When you click RUN:
Nothing runs on an external server. The Node.js process lives inside your browser tab. Closing the tab stops the server.