Forward incoming webhooks to localhost or internal services during development. No ngrok account, no tunnel, no data leaving your network. Your webhook debugging on your terms.
The overhead of managing hooks tends to grow quietly until someone asks why the team is paying four different subscriptions for overlapping features. Relay replaces that stack with a single process that starts in under a second.
A regulated company runs Relay inside their air-gapped network. No data leaves the building. Compliance auditors can inspect the SQLite file directly. When the team needs a report, they query the API and format the output however the auditor expects.
Each hook record carries fields for name, url, delivery count, status. The API accepts partial updates, so you can PATCH individual fields without resubmitting the entire record. Listing endpoints support ?q= for keyword search and ?status= for filtering through the lifecycle. Backups are a file copy of the SQLite database in the data directory.
GET /api/hooks — List all hooks. Supports ?q=keyword for search and ?status=value for filteringPOST /api/hooks — Create a new hook. Send JSON with at least nameGET /api/hooks/{id} — Fetch one hook by IDPUT /api/hooks/{id} — Update fields on an existing hookDELETE /api/hooks/{id} — Remove a hookGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted webhook relay. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool relay
PORT=8620 ./relay
http://localhost:8620
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export RELAY_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./relay
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.