> For the complete documentation index, see [llms.txt](https://docs.useintermission.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.useintermission.com/checks/our-checks/heartbeats.md).

# Heartbeats

Track your automated jobs to make sure they are running

**What is a Heatbeat?**

A heartbeat is a commonly used terms in site monitoring  (sometimes also called a *pingback*). It is a really simple way of checking if an automated job is running by calling a URL that we provide you with. If we do not see you trigger that URL in the timeframe you specify, [we alert you](/notifications/our-notifications.md)!

Heartbeats in Intermission require just 3 things.&#x20;

**Name**

Give your Heartbeat monitor a name that you will recognise. This name pulls through to the Notifications we will send you if the Heartbeat goes missing.

**ETA**

Let us know when we should expect to see you triggering this URL (generated at the end of the process). It can be every x seconds, minutes, hours or days.&#x20;

**Grace Period**

This is the amount of time we wait before notifying you that this heartbeat went missing. For example, if you tell us that you expect this job to run every hour, but sometimes it can take a little longer to complete, you might give it a 15 minute grace period. This means that if we still do not hear from you after 75 minutes we will trigger the alert.

{% hint style="info" %}
ETA + Grace Period = total time before notification is triggered
{% endhint %}

Once you have saved the Heartbeat you can go and view it to see the unique URL that you need to be using. It will look something like this:

```
https://www.useintermission.com/api/v1/heartbeat/{uuid}
```

You can make both **POST** and **GET** requests to this URL however neither method takes any parameters.

In order to call a URL you **must authenticate the request** by [creating an API key](https://www.useintermission.com/user/api-tokens) and using it as a Bearer Token.

Here is a typical example using the laravel framework

```
$schedule->command('run:task')
            ->hourly()
            ->onSuccess(function () {
                Http::withToken('my-api-token')
                ->get('https://www.useintermission.com/api/v1/heartbeat/{uuid}');
            });
```
