Check-Ins

Cron Monitor Check-In Payload

A check-in is an item in an envelope called check_in. It consists of a JSON payload that looks roughly like this:

Copied
{
  "check_in_id": "83a7c03ed0a04e1b97e2e3b18d38f244",
  "monitor_slug": "my-monitor",
  "status": "in_progress",
  "duration": 10.0,
  "release": "1.0.0",
  "environment": "production"
}

The following fields exist:

check_in_id
String, required. Check-In ID (unique and client generated).

monitor_slug
String, required. The distinct slug of the monitor.

status
String, required. The status of the check-in. Can be one of the following:

  • in_progress: The check-in has started.
  • ok: The check-in has completed successfully.
  • error: The check-in has failed.

duration
Number, optional. The duration of the check-in in seconds. Will only take effect if the status is ok or error.

release
String, optional. The release.

environment
String, optional. The environment.

Monitor upsert support

In addition to sending check-in details, the SDK may also provide monitor configuration, allowing monitors to be created or updated when sending check-ins.

Copied
{
  "check_in_id": "83a7c03ed0a04e1b97e2e3b18d38f244",
  "monitor_slug": "b7645b8e-b47d-4398-be9a-d16b0dac31cb",
  "status": "in_progress",
  "monitor_config": {
    "schedule": {
      "type": "crontab",
      "value": "0 * * * *"
    },
    "checkin_margin": 5,
    "max_runtime": 30,
    "timezone": "America/Los_Angeles"
  }
}

The following fields exist under the monitor_config key:

schedule
Object, required. See schedule configuration.

checkin_margin
Number, optional. The allowed allowed margin of minutes after the expected check-in time that the monitor will not be considered missed for.

max_runtime
Number, optional. The allowed allowed duration in minutes that the monitor may be in_progress for before being considered failed due to timeout.

timezone
String, optional. A tz database string representing the timezone which the monitor's execution schedule is in.

Schedule configuration

type
String, required. One of crontab or interval.

Using crontab

value
String, required. The crontab schedule string, e.g. 0 * * * *.

Using interval

value
Number, required. The interval value.

unit
String, required. The interval unit. Should be one of year, month, week, day, hour, minute.

You can edit this page on GitHub.