An uptime site went down or came back up.
Fields
67The table lists every field of the body. You can validate a delivery against this event’s JSON Schema.
| Field | Type | Description |
|---|---|---|
event required | "up" | |
message required | string | A one-line summary of the event, as notifications show it. |
actor | object | The person who caused the event. Absent when Honeybadger, or an API token with no user, did. |
actor.id required | integer | |
actor.email required | string | |
actor.name required | string | null | |
project required | object | The project the event belongs to. |
project.id required | integer | |
project.name required | string | null | |
project.created_at required | date-time | |
project.disable_public_links required | boolean | null | |
project.pivotal_project_id required | string | null | |
project.asana_workspace_id required | string | null | |
project.token required | string | The project's ingestion key, the one its notifiers report with. |
project.github_project required | string | null | The repository of the project's newest GitHub integration. |
project.environments required | array<object> | |
project.environments[].id required | integer | |
project.environments[].project_id required | integer | |
project.environments[].name required | string | |
project.environments[].notifications required | boolean | Whether errors in this environment send notifications. |
project.environments[].created_at required | date-time | |
project.environments[].updated_at required | date-time | |
project.owner required | object | The account that owns the project. |
project.owner.id required | integer | |
project.owner.email required | string | |
project.owner.name required | string | null | |
project.last_notice_at required | date-time | null | |
project.earliest_notice_at required | date-time | The oldest notice the plan's retention keeps. |
project.unresolved_fault_count required | integer | |
project.fault_count required | integer | |
project.active required | boolean | Whether the account is active. |
project.users required | array<object> | |
project.users[].id required | integer | |
project.users[].email required | string | |
project.users[].name required | string | null | |
project.sites required | array<object> | |
project.sites[].id required | uuid | |
project.sites[].active required | boolean | |
project.sites[].last_checked_at required | date-time | null | |
project.sites[].name required | string | |
project.sites[].state required | string | |
project.sites[].url required | string | The checked URL, as entered. |
project.team_id required | integer | null | |
project.url | uri | The project's errors page. Sent on volume_spike only. |
site required | object | The uptime site the event is about. |
site.id required | uuid | |
site.name required | string | |
site.url required | string | The checked URL, as entered. |
site.frequency required | integer | Minutes between checks. |
site.match_type required | string | |
site.match required | string | null | |
site.state required | string | Allowed values: pending, up, down. |
site.active required | boolean | |
site.last_checked_at required | date-time | null | |
site.retries required | integer | null | |
site.proxy required | integer | |
site.cert_will_expire_at required | date-time | null | |
site.timeout required | integer | null | |
site.response_headers required | object | null | Headers the site is set to expect in each check's response. |
site.details_url required | uri | |
outage required | object | The site's latest outage. Every field but details_url is null when the site has none on record. |
outage.down_at required | date-time | null | |
outage.up_at required | date-time | null | Null while the site is still down. |
outage.status required | integer | null | The HTTP status the failing check got. |
outage.reason required | string | null | |
outage.headers required | object | null | Headers from the failing check's response. |
outage.details_url required | uri |
Example
{ "event": "up", "message": "[Billing API] Checkout is back up after 7m 1s.", "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:27.720691Z", "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": "2026-10-21T12:36:26.482113Z", "name": "Checkout", "state": "up", "url": "https://billing.example.com/health" } ], "team_id": null }, "site": { "id": "8121ab91-87fd-4e92-ae23-a7b5bf915a2f", "name": "Checkout", "url": "https://billing.example.com/health", "frequency": 5, "match_type": "success", "match": null, "state": "up", "active": true, "last_checked_at": "2026-10-21T12:36:26.482113Z", "retries": 0, "proxy": 0, "cert_will_expire_at": null, "timeout": null, "response_headers": null, "details_url": "https://app.honeybadger.io/projects/85736/sites/8121ab91-87fd-4e92-ae23-a7b5bf915a2f" }, "outage": { "down_at": "2026-10-21T12:29:26.482113Z", "up_at": "2026-10-21T12:36:26.482113Z", "status": 503, "reason": "Service Unavailable", "headers": { "retry-after": "120", "content-type": "text/html" }, "details_url": "https://app.honeybadger.io/projects/85736/sites/8121ab91-87fd-4e92-ae23-a7b5bf915a2f" }}