Check-in payloads: know how your jobs ran, not just that they ran on time
Basic check-ins tell you when your cron jobs and background tasks don't run on schedule. 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 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 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, where you can query it, build dashboards, and create alarms.

Getting started
The easiest way to capture payloads is with the Honeybadger CLI. Just wrap your existing command:
# 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 to the check-in API:
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 to learn more.









