Define cron jobs, run them, see logs, get alerted on failures. No server crontab editing, no Heroku Scheduler. One dashboard for every scheduled task across your stack.
Every operation in Mainspring is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/jobs — list all jobs with optional search and filter query parametersPOST /api/jobs — create a new job recordGET /api/jobs/{id} — retrieve a single job by IDPUT /api/jobs/{id} — update an existing jobDELETE /api/jobs/{id} — remove a jobGET /api/stats — aggregated statisticsGET /api/health — health check endpoint for monitoringWhen regulators or clients ask where your jobs data is stored, the best answer is a specific server you own in a specific jurisdiction you chose. Mainspring makes that answer straightforward because the data never leaves your infrastructure.
Download the binary and run it. Mainspring starts serving immediately with a dashboard at localhost and a REST API for automation. No cloud account, no API keys to provision, no monthly invoice. Your data lives in a SQLite file you can back up, move, or query directly.
Install Mainspring with the one-line shell script or download the binary directly from GitHub. Run it, open /ui, and start creating jobs. The SQLite database lives in a single file under the data directory. To migrate to a new server, copy the binary and the data directory. That is the entire migration procedure.
GET /api/jobs — List all jobs. Supports ?q=keyword for searchPOST /api/jobs — Create a new job. Send JSON with at least nameGET /api/jobs/{id} — Fetch one job by IDPUT /api/jobs/{id} — Update fields on an existing jobDELETE /api/jobs/{id} — Remove a jobGET /api/stats — Returns total countGET /api/health — Returns {"status":"ok"} for uptime monitoringSelf-hosted cron job scheduler. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool mainspring
PORT=9950 ./mainspring
http://localhost:9950
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 MAINSPRING_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./mainspring
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.