Honeybadger event reference
Events Honeybadger itself adds to your project's Insights data: error notices, check-in reports, deploys, and uptime site state changes. Each entry lists the event's fields with their types, and links to its raw JSON Schema.
4 events emitted by
honeybadger.check_in
A heartbeat or report from a scheduled job or cron monitor. The state field shows whether the run succeeded, failed, or reported its status.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: check_in. |
check_in_id | string | Stable identifier for the monitored check-in / job. |
state | string | Reported state of the run. reporting means the job sent a heartbeat for the scheduled window. missing means the window expired without a heartbeat. paused means the monitor is paused. Allowed values: reporting, missing, paused. |
payload | object | Optional report sent with advanced check-ins. The fields listed below are common, but the job can send other fields too. |
payload.status | string | Job outcome label. "success" appears as a check icon in the UI. Any other value is treated as a failure label. |
payload.duration | number | How long the job took, in milliseconds. |
payload.exit_code | integer | Process exit code reported by the job. 0 conventionally means success. |
payload.stdout | string | Captured stdout from the job run. |
payload.stderr | string | Captured stderr from the job run. |
payload.* | any | Additional caller-defined keys. |
Example
{ "event_type": "check_in", "check_in_id": "wNgxJv", "state": "reporting", "payload": { "status": "success", "duration": 4523, "exit_code": 0, "stdout": "Processed 1240 records", "stderr": "" }}deploy
A code deploy reported to Honeybadger. Each deploy creates one event per environment. There is no separate started or finished event.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: deploy. |
environment | string | Target environment of the deploy, e.g. "production", "staging". |
revision | string | Source revision (commit SHA) being deployed. |
repository | string | Repository URL, when reported. |
local_username | string | Username on the deploying machine. |
commits | array<object> | Commits included in this deploy when reported. Omitted on deploys without a commit list. |
Example
{ "event_type": "deploy", "environment": "production", "revision": "a3f8c12d9b4e6f7a8c01d2e3f4a5b6c7d8e9f0a1", "repository": "https://github.com/example/myapp", "local_username": "deploy", "commits": [ { "revision": "a3f8c12d9b4e6f7a8c01d2e3f4a5b6c7d8e9f0a1", "message": "Fix checkout total calculation", "author": "Jane Developer" } ]}notice
An unhandled error captured by a Honeybadger client. Notices with the same root cause are grouped under one fault_id.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: notice. |
uuid | string | Stable per-notice token (use to look up a specific notice in the UI). |
ulid | string | ULID for the notice. It is sortable and encodes the receive timestamp. |
fault_id | integer | Aggregated error group ID. Each fault_id groups notices that share a root cause. |
project_id | integer | Project the notice belongs to. |
klass | string | Error class name, e.g. "NoMethodError", "ActiveRecord::RecordNotFound". |
message | string | Error message text from the exception. |
file | string | Top-frame source file from the backtrace. |
hostname | string | Hostname of the server that reported the error. |
environment | string | Deploy environment, e.g. "production", "staging". |
revision | string | Source revision (commit SHA) the app was running at. |
user | string | Resolved from the project's user-search field (typically email or user_id). |
request_id | string | Per-request correlation id. |
tags | array<string> | Tags applied to the notice. |
request | object | HTTP request metadata from the error context. |
request.url | string | |
request.referer | string | |
request.host | string | |
request.request_method | string | |
request.remote_addr | string | |
user_agent | object | Parsed user-agent from the request. |
user_agent.browser | object | |
user_agent.browser.name | string | |
user_agent.browser.major | string | |
user_agent.browser.version | string | |
user_agent.os | object | |
user_agent.os.name | string | |
user_agent.os.version | string | |
user_agent.device | object | |
user_agent.device.model | string | |
user_agent.bot | boolean | |
context | object | Context data your application set when the error was reported, such as values from Honeybadger.context. Keys are whatever your code sends. Common examples include context.user_email, context.user_id, and context.username. |
context.* | any | Additional caller-defined keys. |
session | object | The HTTP session at the time of the error. Keys are whatever your application stores in the session. |
session.* | any | Additional caller-defined keys. |
params | object | The HTTP request parameters at the time of the error. Keys depend on the request. |
params.* | any | Additional caller-defined keys. |
Example
{ "event_type": "notice", "uuid": "3e6c9a1d-7f2b-4e8a-b5c3-9d0e1f2a3b4c", "ulid": "01JXF7Q2M3N4P5R6S7T8V9W0XA", "fault_id": 84512937, "project_id": 12345, "klass": "ActiveRecord::RecordNotFound", "message": "Couldn't find User with 'id'=123", "file": "app/controllers/users_controller.rb", "hostname": "web-1.example.com", "environment": "production", "revision": "a3f8c12d9b4e6f7a8c01d2e3f4a5b6c7d8e9f0a1", "user": "user@example.com", "request_id": "1f9f6f1a-2b3c-4d5e-8f6a-7b8c9d0e1f2a", "tags": [ "billing", "critical" ], "request": { "url": "https://www.example.com/users/123", "referer": "https://www.example.com/users", "host": "www.example.com", "request_method": "GET", "remote_addr": "203.0.113.42" }, "user_agent": { "browser": { "name": "Chrome", "major": "126", "version": "126.0.0.0" }, "os": { "name": "Mac OS X", "version": "10.15.7" }, "device": { "model": "Mac" }, "bot": false }, "context": { "user_id": 123, "user_email": "user@example.com", "plan": "pro" }, "session": { "session_id": "9d0e1f2a3b4c5d6e", "cart_items": 2 }, "params": { "controller": "users", "action": "show", "id": "123" }}site
A snapshot of an uptime-monitored site's configuration. Honeybadger records this when a site is created or its config changes. Probe results use event_type "uptime_check" and include duration, location, site.id, site.name, and response.status_code.
| Field | Type | Description |
|---|---|---|
event_type | string | Allowed value: site. |
id | integer | Site DB id (matches the site.id nested key on probe events). |
name | string | Display name of the site (matches site.name::str on probe events). |
url | string | Target URL being monitored. |
state | string | Last observed reachability state of the site. Allowed values: up, down. |
Example
{ "event_type": "site", "id": 67890, "name": "Marketing site", "url": "https://www.example.com", "state": "up"}