[{"data":1,"prerenderedAt":18},["ShallowReactive",2],{"content:integrations\u002Fhealthchecks":3},{"body":4,"toc":5},"\u003Ch1>Uptime checks with Healthchecks.io pings\u003C\u002Fh1>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fhealthchecks.io\">Healthchecks.io\u003C\u002Fa> alerts you when a ping doesn&#39;t arrive on time. Put a ping after a check in a cronservices job: when the check fails, the job stops before the ping, and Healthchecks alerts you by email, SMS, Slack, or any of its integrations.\u003C\u002Fp>\n\u003Ch2 id=\"example-alert-when-your-api-is-down\">\u003Ca class=\"anchor\" href=\"#example-alert-when-your-api-is-down\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Example: alert when your API is down\u003C\u002Fh2>\n\u003Cdiv class=\"code-block site-code\">\u003Cspan class=\"code-lang\">json\u003C\u002Fspan>\u003Cpre>\u003Ccode>\u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">name\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">API heartbeat\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">cron\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">expression\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">* * * * *\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">nodes\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">[\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">health\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">request\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">method\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">GET\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">endpoint\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fapi.acme.com\u002Fhealth\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">ping\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">healthchecks_ping\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">ping_url\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fhc-ping.com\u002F5f3c9a1e-8b2d-4c6f-9e7a-1d2b3c4d5e6f\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\n  \u003Cspan style=\"color:#9ABDF5\">]\u003C\u002Fspan>\n\u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"icon-btn code-copy\" data-copy aria-label=\"Copy code\">\u003Csvg class=\"icon\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Cp>Set the check&#39;s period to 1 minute and its grace time to a few minutes, so a single slow response doesn&#39;t page anyone.\u003C\u002Fp>\n\u003Ch2 id=\"example-watch-a-nightly-job\">\u003Ca class=\"anchor\" href=\"#example-watch-a-nightly-job\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Example: watch a nightly job\u003C\u002Fh2>\n\u003Cp>Ping only when your backup endpoint confirms the last backup is fresh:\u003C\u002Fp>\n\u003Cdiv class=\"code-block site-code\">\u003Cspan class=\"code-lang\">json\u003C\u002Fspan>\u003Cpre>\u003Ccode>\u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">name\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Backup freshness\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">cron\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">expression\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">0 7 * * *\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">time_zone\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Europe\u002FBerlin\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">nodes\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">[\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">fresh\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">request\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">method\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">GET\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">endpoint\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fbackup.example.com\u002Fapi\u002Ffresh?max_age_hours=26\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">credential_id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">YOUR_BACKUP_TOKEN_ID\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">ping\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">healthchecks_ping\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">ping_url\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fhc-ping.com\u002F5f3c9a1e-8b2d-4c6f-9e7a-1d2b3c4d5e6f\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">body\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Last backup {{ $.finished_at }}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\n  \u003Cspan style=\"color:#9ABDF5\">]\u003C\u002Fspan>\n\u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"icon-btn code-copy\" data-copy aria-label=\"Copy code\">\u003Csvg class=\"icon\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Ch2 id=\"set-up\">\u003Ca class=\"anchor\" href=\"#set-up\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Set up\u003C\u002Fh2>\n\u003Cp>Create a check in Healthchecks.io, copy its ping URL into \u003Ccode>ping_url\u003C\u002Fcode>, and set the period to match the job&#39;s schedule. Self-hosted Healthchecks servers work too.\u003C\u002Fp>\n\u003Ch2 id=\"reference\">\u003Ca class=\"anchor\" href=\"#reference\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Reference\u003C\u002Fh2>\n\u003Ch3 id=\"ping-a-healthchecks-check-healthchecks-ping\">\u003Ca class=\"anchor\" href=\"#ping-a-healthchecks-check-healthchecks-ping\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Ping a Healthchecks check: \u003Ccode>healthchecks_ping\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Sends\u003C\u002Fstrong> POST the ping URL, or \u003Ccode>&lt;ping_url&gt;\u002Ffail\u003C\u002Fcode> or \u003Ccode>\u002Fstart\u003C\u002Fcode>. \u003Cstrong>Output\u003C\u002Fstrong> for the next step: The text \u003Ccode>OK\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Type\u003C\u002Fth>\n\u003Cth>Notes\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>ping_url\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string, required\u003C\u002Ftd>\n\u003Ctd>The check’s ping URL, ending in its UUID, on \u003Ccode>hc-ping.com\u003C\u002Fcode> or your own server.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>signal\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string\u003C\u002Ftd>\n\u003Ctd>Omit to report success. \u003Ccode>fail\u003C\u002Fcode> reports a failure and \u003Ccode>start\u003C\u002Fcode> starts a timer.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>body\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string\u003C\u002Ftd>\n\u003Ctd>A log line stored with the ping, up to 10,000 characters. Placeholders allowed.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>",[6,9,12,15],{"id":7,"html":8},"example-alert-when-your-api-is-down","Example: alert when your API is down",{"id":10,"html":11},"example-watch-a-nightly-job","Example: watch a nightly job",{"id":13,"html":14},"set-up","Set up",{"id":16,"html":17},"reference","Reference",1793404039336]