---
title: "Check-in payloads: know how your jobs ran, not just that they ran on time"
date: "2026-01-27"
publisher: Honeybadger
url: "https://www.honeybadger.io/changelog/check-in-payloads/"
---

Basic check-ins tell you [when your cron jobs and background tasks don't run on schedule](https://docs.honeybadger.io/guides/check-ins/). But what happens when a job runs and fails? Or takes twice as long as usual? Without more context, you won't know until the damage is done.

[Check-in payloads](https://docs.honeybadger.io/guides/check-ins/#payloads) give you the full picture:

- **Exit code:** Know whether your job succeeded or failed. A backup that runs but errors out is just as bad as one that doesn't run at all.
- **Duration:** See how long each run takes. Pair with [Insights Alarms](https://docs.honeybadger.io/guides/insights/alarms/) to get alerted when jobs exceed expected thresholds.
- **Output capture:** See what your job actually did. Stdout and stderr are captured separately, so whether it's "Deleted 42 rows" or an error message, you'll know exactly what happened.

All payload data also flows into [Honeybadger Insights](https://docs.honeybadger.io/guides/insights/), where you can query it, build dashboards, and create alarms.

![Monitoring dashboard showing "Most Recent 25 Checks" with one successful check-in from Jan 26 at 4:32 pm. State: reporting, Duration: 10050ms, Exit code: 0, STDOUT output: "backup complete"](https://www-files.honeybadger.io/changelog/check-in-payloads/checkin-payloads.png)

### Getting started

The easiest way to capture payloads is with the [Honeybadger CLI](https://www.honeybadger.io/changelog/honeybadger-cli/). Just wrap your existing command:

```bash
# Before @hourly /path/to/backup-script.sh # After @hourly hb run --id XyZZy -- /path/to/backup-script.sh
```

The CLI handles everything automatically: it streams output in real-time, captures stdout and stderr (up to 16KB combined), records the duration, and reports the exit code.

You can also [POST payload data directly](https://docs.honeybadger.io/api/reporting-check-ins/#check-in-payloads) to the check-in API:

```bash
curl -X POST https://api.honeybadger.io/v1/check_in/XyZZy \ -H "Content-Type: application/json" \ -d '{"check_in": {"status": "success", "duration": 1234, "stdout": "backup completed"}}'
```

### Use cases

- **Database backups:** Know if the backup completed successfully and how long it took
- **Batch processing:** Track how many records were processed in each run
- **Report generation:** Get alerted if your monthly report script starts taking too long
- **Data syncs:** Capture output showing how many records were synced or failed

Check-in payloads are available for Business and Enterprise accounts. See the [Check-ins guide](https://docs.honeybadger.io/guides/check-ins/) to learn more.

---

## Try Honeybadger for FREE

Intelligent logging, error tracking, and Just Enough APM™ in one dev-friendly platform. Find and fix problems before users notice.

[Start free trial](https://app.honeybadger.io/users/sign_up)

[See plans and pricing](https://www.honeybadger.io/plans/)
