Route notifications from any source to any channel — email, SMS, webhook, Slack. Define routing rules, silence windows, and escalation paths. Your owned notification backbone.
Every operation in Telegraph is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/webhooks — list all webhooks with optional search and filter query parametersPOST /api/webhooks — create a new webhook recordGET /api/webhooks/{id} — retrieve a single webhook by IDPUT /api/webhooks/{id} — update an existing webhookDELETE /api/webhooks/{id} — remove a webhookGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringThe moment you store webhooks in someone else's cloud, you have accepted their terms, their pricing changes, and their uptime. Telegraph puts that decision back in your hands with a standalone binary that runs anywhere you can run a Linux process.
Start Telegraph with a port and a data directory. It creates its SQLite database on first run and serves both the API and the dashboard on the same port. Create webhooks through the web interface or POST JSON to the API. Filter by source url, target url, or search by keyword. Update records with PUT, delete with DELETE. The stats endpoint returns aggregate counts grouped by status for monitoring.
A freelance consultant keeps Telegraph running on a home server. Client webhooks stay on local disk, which simplifies the privacy section of every contract. The search endpoint powers a custom dashboard built with a static site generator. Total infrastructure cost: the electricity to run a Raspberry Pi.
GET /api/webhooks — List all webhooks. Supports ?q=keyword for search and ?status=value for filteringPOST /api/webhooks — Create a new webhook. Send JSON with at least nameGET /api/webhooks/{id} — Fetch one webhook by IDPUT /api/webhooks/{id} — Update fields on an existing webhookDELETE /api/webhooks/{id} — Remove a webhookGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted notification hub. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool telegraph
PORT=9030 ./telegraph
http://localhost:9030
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 TELEGRAPH_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./telegraph
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.