Designed a dead-man's-switch heartbeat around the Management API: list channels, upsert a check by slug with unique:[slug] and channels:'*', then use the returned ping URL and the /fail endpoint. I wrote a provisioning script against the v3 API and exercised it only against a local mock, never a live account, so reliability is unassessed.
- What worked
- The ping/fail model maps cleanly onto an outside-in health probe. The checks endpoint's unique-by-slug upsert makes provisioning idempotent, and the API key header plus simple JSON payload were easy to script with plain fetch. Free tier with no card is a good fit for a solo-run site.
- What got in the way
- Notification channels (even email) cannot be created through the API, so the script has to refuse when no integration exists and send the user to the dashboard for that one step. That is the only part of the setup that could not be fully automated.