Skip to content

occurred

View Markdown

An error occurred, or a fault passed its notification rate threshold.

Fields

109

The table lists every field of the body. You can validate a delivery against this event’s JSON Schema.

FieldTypeDescription
event required"occurred"
message requiredstringA one-line summary of the event, as notifications show it.
actorobjectThe person who caused the event. Absent when Honeybadger, or an API token with no user, did.
actor.id requiredinteger
actor.email requiredstring
actor.name requiredstring | null
project requiredobjectThe project the event belongs to.
project.id requiredinteger
project.name requiredstring | null
project.created_at requireddate-time
project.disable_public_links requiredboolean | null
project.pivotal_project_id requiredstring | null
project.asana_workspace_id requiredstring | null
project.token requiredstringThe project's ingestion key, the one its notifiers report with.
project.github_project requiredstring | nullThe repository of the project's newest GitHub integration.
project.environments requiredarray<object>
project.environments[].id requiredinteger
project.environments[].project_id requiredinteger
project.environments[].name requiredstring
project.environments[].notifications requiredbooleanWhether errors in this environment send notifications.
project.environments[].created_at requireddate-time
project.environments[].updated_at requireddate-time
project.owner requiredobjectThe account that owns the project.
project.owner.id requiredinteger
project.owner.email requiredstring
project.owner.name requiredstring | null
project.last_notice_at requireddate-time | null
project.earliest_notice_at requireddate-timeThe oldest notice the plan's retention keeps.
project.unresolved_fault_count requiredinteger
project.fault_count requiredinteger
project.active requiredbooleanWhether the account is active.
project.users requiredarray<object>
project.users[].id requiredinteger
project.users[].email requiredstring
project.users[].name requiredstring | null
project.sites requiredarray<object>
project.sites[].id requireduuid
project.sites[].active requiredboolean
project.sites[].last_checked_at requireddate-time | null
project.sites[].name requiredstring
project.sites[].state requiredstring
project.sites[].url requiredstringThe checked URL, as entered.
project.team_id requiredinteger | null
project.urluriThe project's errors page. Sent on volume_spike only.
fault requiredobjectThe fault (a unique error) the event is about. When the account is inactive, only id, project_id, message and created_at are sent.
fault.id requiredinteger
fault.project_id requiredinteger
fault.klassstring | nullError class name.
fault.message requiredstring | nullThe error message, without the class name.
fault.componentstring | null
fault.actionstring | null
fault.environmentstring | null
fault.resolvedboolean
fault.ignoredboolean
fault.created_at requireddate-time
fault.project_namestring | null
fault.comments_countinteger
fault.notices_countinteger
fault.last_notice_atdate-time | null
fault.tagsarray | null
fault.assigneestring | nullThe assignee's email address.
fault.urluri
fault.deployobject | nullThe latest deploy to the fault's environment.
fault.deploy.environment requiredstring
fault.deploy.revision requiredstring | null
fault.deploy.repository requiredstring | null
fault.deploy.local_username requiredstring | null
fault.deploy.created_at requireddate-time
fault.deploy.changelog requiredarray | nullCommits in the deploy, as the deploy notification sent them.
fault.deploy.url requireduri
notice requiredobjectThe occurrence that triggered the event. When the account is inactive, only id, fault_id and created_at are sent. When the notice is older than the plan keeps, its request and environment data are sent empty.
notice.id requiredinteger
notice.fault_id requiredinteger
notice.tokenuuidThe notice's UUID.
notice.messagestring | null
notice.created_at requireddate-time
notice.environmentanyThe server environment the notifier reported (environment-name, hostname and the like). Defined by the notifier.
notice.requestobjectThe request the error happened in. context is moved to the body's top-level context.
notice.request.urlstring | null
notice.request.componentstring | null
notice.request.actionstring | null
notice.request.paramsanyRequest parameters, as the notifier sent them. Usually an object, but any JSON value.
notice.request.sessionanySession data, as the notifier sent it. Usually an object, but any JSON value, including null.
notice.backtracearray<object>
notice.backtrace[].numberstring | integer | nullThe line number. Ruby notifiers send a string, PHP and JavaScript an integer.
notice.backtrace[].filestring | null
notice.backtrace[].methodstring | null
notice.backtrace[].contextstringapp for a frame in the project's own code, otherwise all. Allowed values: app, all.
notice.backtrace[].application_filestringThe file's path within the project. Sent for app frames.
notice.backtrace[].sourceanyLines of source around the frame, usually an object keyed by line number. Null when a source map has no source for the frame, and notifiers can send other shapes.
notice.application_tracearray<object>The frames of backtrace in the project's own code.
notice.application_trace[].numberstring | integer | nullThe line number. Ruby notifiers send a string, PHP and JavaScript an integer.
notice.application_trace[].filestring | null
notice.application_trace[].methodstring | null
notice.application_trace[].contextstringapp for a frame in the project's own code, otherwise all. Allowed values: app, all.
notice.application_trace[].application_filestringThe file's path within the project. Sent for app frames.
notice.application_trace[].sourceanyLines of source around the frame, usually an object keyed by line number. Null when a source map has no source for the frame, and notifiers can send other shapes.
notice.web_environmentanyCGI-style request environment, as the notifier sent it.
notice.deployobject | null
notice.deploy.environment requiredstring
notice.deploy.revision requiredstring | null
notice.deploy.repository requiredstring | null
notice.deploy.local_username requiredstring | null
notice.deploy.created_at requireddate-time
notice.deploy.changelog requiredarray | nullCommits in the deploy, as the deploy notification sent them.
notice.deploy.url requireduri
notice.urluri
contextanyThe notice's request context, as the notifier sent it. Usually an object, but any JSON value. Moved here from notice.request.
custom_fieldsanyThe integration's custom fields, when it has any.

Example

{
"event": "occurred",
"message": "[Billing API/production] NoMethodError: undefined method 'total' for nil",
"project": {
"id": 85736,
"name": "Billing API",
"created_at": "2026-10-21T12:36:26.076894Z",
"disable_public_links": false,
"pivotal_project_id": null,
"asana_workspace_id": null,
"token": "hbp_EXAMPLE00000000000000000000000",
"github_project": null,
"environments": [
{
"id": 2819,
"project_id": 85736,
"name": "production",
"notifications": true,
"created_at": "2026-10-21T12:36:26.470494Z",
"updated_at": "2026-10-21T12:36:26.470494Z"
}
],
"owner": {
"id": 92354,
"email": "user-1@example.com",
"name": "Acme"
},
"last_notice_at": null,
"earliest_notice_at": "2026-04-24T12:36:26.729872Z",
"unresolved_fault_count": 0,
"fault_count": 0,
"active": true,
"users": [
{
"id": 132624,
"email": "jane@example.com",
"name": "Jane Doe"
}
],
"sites": [
{
"id": "8121ab91-87fd-4e92-ae23-a7b5bf915a2f",
"active": true,
"last_checked_at": null,
"name": "Checkout",
"state": "down",
"url": "https://billing.example.com/health"
}
],
"team_id": null
},
"fault": {
"project_id": 85736,
"klass": "NoMethodError",
"component": "InvoicesController",
"action": "show",
"environment": "production",
"resolved": false,
"ignored": false,
"created_at": "2026-10-18T12:36:26.482113Z",
"project_name": "Billing API",
"comments_count": 1,
"message": "undefined method 'total' for nil",
"notices_count": 1,
"last_notice_at": "2026-10-21T12:36:26.309680Z",
"tags": [
"billing"
],
"id": 26225,
"assignee": null,
"url": "https://app.honeybadger.io/projects/85736/faults/26225",
"deploy": {
"environment": "production",
"revision": "850510ab072102729e6967cf89f28b740c61311b",
"repository": "https://github.com/acme/billing",
"local_username": "deploy-bot",
"created_at": "2026-10-21T12:16:26.482113Z",
"changelog": [],
"url": "https://github.com/acme/billing/commit/850510ab072102729e6967cf89f28b740c61311b"
}
},
"notice": {
"id": 262251792586066,
"environment": {},
"created_at": "2026-10-21T12:34:26.482113Z",
"message": null,
"token": "65baebe0-d5cf-45d1-8604-c3a78619def7",
"fault_id": 26225,
"request": {
"url": "https://billing.example.com/invoices/1042",
"component": "InvoicesController",
"action": "show",
"params": {
"controller": "invoices",
"action": "show",
"id": "1042"
},
"session": {}
},
"backtrace": [
{
"number": "42",
"file": "[PROJECT_ROOT]/app/controllers/invoices_controller.rb",
"method": "show",
"application_file": "app/controllers/invoices_controller.rb",
"context": "app"
},
{
"number": "18",
"file": "[GEM_ROOT]/gems/actionpack-8.1.0/lib/action_controller/metal/basic_implicit_render.rb",
"method": "send_action",
"context": "all"
}
],
"application_trace": [
{
"number": "42",
"file": "[PROJECT_ROOT]/app/controllers/invoices_controller.rb",
"method": "show",
"application_file": "app/controllers/invoices_controller.rb",
"context": "app"
}
],
"web_environment": {
"REQUEST_METHOD": "GET",
"HTTP_USER_AGENT": "Mozilla/5.0"
},
"deploy": {
"environment": "production",
"revision": "850510ab072102729e6967cf89f28b740c61311b",
"repository": "https://github.com/acme/billing",
"local_username": "deploy-bot",
"created_at": "2026-10-21T12:16:26.482113Z",
"changelog": [],
"url": "https://github.com/acme/billing/commit/850510ab072102729e6967cf89f28b740c61311b"
},
"url": "https://app.honeybadger.io/projects/85736/faults/26225/01M5F79AHJ6GVQCB5TZ2R0QMKZ"
},
"context": {
"user_id": 381
}
}