Errors API reference
Get a fault list or fault details
Section titled “Get a fault list or fault details”curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faultscurl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/IDReturns a list of faults or a single fault for the given project with the following format:
{ "action": "runtime_error", "assignee": { "email": "westley@honeybadger.io", "id": 1, "name": "Westley" }, "comments_count": 0, "component": "pages", "created_at": "2013-01-22T16:33:22.704628Z", "environment": "development", "id": 2, "ignored": false, "klass": "RuntimeError", "last_notice_at": "2013-02-11T19:18:31.991903Z", "message": "This is a runtime error", "notices_count": 7, "project_id": 1, "resolved": false, "tags": ["internal"], "url": "https://app.honeybadger.io/projects/1/faults/2"}The fault list can be filtered with a number of URL parameters:
| Parameter | Description |
|---|---|
q | A search string |
created_after | A Unix timestamp (number of seconds since the epoch) |
occurred_after | A Unix timestamp (number of seconds since the epoch) |
occurred_before | A Unix timestamp (number of seconds since the epoch) |
limit | Number of results to return (max and default are 25) |
The fault list can be ordered with the order parameter in the URL, with the following possible values:
| Value | Description |
|---|---|
recent | List the errors that have most recently occurred first |
frequent | List the errors that have received the most notifications first |
The default order is by creation time.
If the search query affects the amount of matched notices, the notices_count
field may not be accurate. For those cases, we add a notices_count_in_range
field to the payload which reflects the notice counts with the query applied.
Get a count of faults
Section titled “Get a count of faults”curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/summaryReturns a total count of all the errors for a project and counts of errors grouped by environment, resolution status, and ignored status. The counts can be filtered by these parameters:
| Parameter | Description |
|---|---|
q | A search string |
created_after | A Unix timestamp (number of seconds since the epoch) |
occurred_after | A Unix timestamp (number of seconds since the epoch) |
occurred_before | A Unix timestamp (number of seconds since the epoch) |
For example, to get a count of open faults in production, you would use the q
parameter to filter the results:
curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/summary?q=environment%3Aproduction%20-is%3Aresolved%20-is%3AignoredUpdate a fault
Section titled “Update a fault”curl -u AUTH_TOKEN: -X PUT -H 'Content-type: application/json' -d '{"fault":{"resolved":true}}' https://app.honeybadger.io/v2/projects/ID/faults/IDThe following fields can be updated:
| Field name | Type | Description |
|---|---|---|
resolved | boolean | |
ignored | boolean | |
assignee_id | integer |
Delete a fault
Section titled “Delete a fault”curl -u AUTH_TOKEN: -X DELETE https://app.honeybadger.io/v2/projects/ID/faults/IDGet a count of occurrences for a fault
Section titled “Get a count of occurrences for a fault”curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/ID/occurrencesProvides the number of times errors have been encountered for a particular fault.
[ [ 1510963200, 1 ], [ 1511049600, 0 ], [ 1511136000, 0 ], [ 1511222400, 1 ], ...]The data can be filtered with these URL parameters:
| Parameter | Description |
|---|---|
period | One of “hour”, “day”, “week”, or “month”. Defaults to “hour” |
Pausing and unpausing faults
Section titled “Pausing and unpausing faults”You can pause notifications for a period of time or for the number of occurrences of a fault. This doesn’t affect the resolved/unresolved status.
curl -u AUTH_TOKEN: -X POST -H 'Content-type: application/json' -d '{"time":"day"}' https://app.honeybadger.io/v2/projects/ID/faults/ID/pausecurl -u AUTH_TOKEN: -X POST -H 'Content-type: application/json' -d '{"count":100}' https://app.honeybadger.io/v2/projects/ID/faults/ID/pauseValid values for time are “hour”, “day”, and “week”, and valid values for
count are 10, 100, and 1000.
You can clear the pause for a fault, or for all of a project’s faults:
curl -u AUTH_TOKEN: -X POST https://app.honeybadger.io/v2/projects/ID/faults/ID/unpausecurl -u AUTH_TOKEN: -X POST https://app.honeybadger.io/v2/projects/ID/faults/unpauseYou don’t need to provide a request body for the unpause endpoints. The response body will be empty, and the status code will be 200.
Bulk-resolving faults
Section titled “Bulk-resolving faults”You can mark all faults for a project as resolved using this endpoint:
curl -u AUTH_TOKEN: -X POST https://app.honeybadger.io/v2/projects/ID/faults/resolveThe faults to be resolved can be filtered with the URL parameter q, which is a
search string.
This endpoint returns a successful response (200) with an empty body when the request is successful.
Linking faults to existing 3rd-party issues
Section titled “Linking faults to existing 3rd-party issues”curl -u AUTH_TOKEN: -H 'Content-type: application/json' -d '{"channel_id":123, "data":{"number":42}}' -X POST https://app.honeybadger.io/v2/projects/ID/faults/ID/linkThis associates an existing GitHub issue, Pivotal Tracker story, etc. with a
fault. Once associated, the error detail page in the UI will include a link to
the associated issue. The channel_id portion of the payload can be obtained
from the integrations
API endpoint. The data portion of the payload varies depending on which type
of integration is being referenced:
GitHub
Section titled “GitHub”| Field name | type | Description |
|---|---|---|
number | integer | The issue number at the end of the issue URL: https://github.com/org/repo/issues/**123** |
| Field name | type | Description |
|---|---|---|
id | integer | The issue id at the end of the issue URL: https://test.atlassian.net/rest/api/2/issue/**1001** |
key | string | The issue label: HB-123 |
self | url | The issue URL: https://test.atlassian.net/rest/api/2/issue/1001 |
Pivotal Tracker
Section titled “Pivotal Tracker”| Field name | type | Description |
|---|---|---|
story_id | integer | The story number at the end of the story URL: http://www.pivotaltracker.com/story/show/**234** |
project_id | integer | The Pivotal Tracker project ID |
pivotal_url | url | The story URL: http://www.pivotaltracker.com/story/show/234 |
Trello
Section titled “Trello”| Field name | type | Description |
|---|---|---|
id | string | The card ID, e.g. 60ca3275a482444bcaae2a8a |
shortUrl | url | Shortened version of the card URL: https://trello.com/c/Ahu7eiy6 |
This endpoint is also used to update an existing link (e.g., to change the issue number for a linked GitHub issue).
Unlinking faults
Section titled “Unlinking faults”curl -u AUTH_TOKEN: -H 'Content-type: application/json' -d '{"channel_id":123}' -X POST https://app.honeybadger.io/v2/projects/ID/faults/ID/unlinkThis removes the link to an associated GitHub issue, Pivotal Tracker story, etc.
The channel_id portion of the payload can be obtained from the
integrations API
endpoint.
Get a list of notices
Section titled “Get a list of notices”curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/ID/noticesReturns a list of notices for the given fault with the following format:
{ "created_at": "2013-02-11T19:18:31.123931Z", "environment": { "environment_name": "development", "hostname": "apollo.local", "project_root": { "path": "/Users/bob/code/crywolf" } }, "cookies" { ... }, "fault_id": 2, "id": "f78391e4-7789-49f0-888e-5f6c07a222f2", "url": "https://app.honeybadger.io/projects/1/faults/2/d23e5f62-747f-11e2-a65e-4f2716edc8b7" "message": "RuntimeError: This is a runtime error", "web_environment": { "CONTENT_LENGTH": "82", "CONTENT_TYPE": "application/x-www-form-urlencoded", "HTTP_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4", ... }, "request": { "action": "runtime_error", "component": "pages", "context": { "cart_id": "8EF99AFC-B4DB-4FC5-A92A-9A6F86ABD364" }, "params": { "_method": "post", "a": "1", "action": "runtime_error", "authenticity_token": "...", "b": "2", "controller": "pages" }, "session": { "_csrf_token": "...", "session_id": "..." }, "url": "http://example.com/pages/runtime_error?a=1&b=2", "user": { "email": "foo@bar.com", "id": 1 } }, "backtrace": [ { "number": "4", "file": "/Users/westley/code/crywolf/app/controllers/pages_controller.rb", "method": "runtime_error" }, ... ], "application_trace": []}The notice list can be filtered with these URL parameters:
| Parameter | Description |
|---|---|
created_after | A Unix timestamp (number of seconds since the epoch) |
created_before | A Unix timestamp (number of seconds since the epoch) |
limit | Number of results to return (max and default are 25) |
The notice list is always ordered by creation time descending.
Get a list of affected users
Section titled “Get a list of affected users”curl -u AUTH_TOKEN: https://app.honeybadger.io/v2/projects/ID/faults/ID/affected_usersReturns a list of the users who were affected by an error:
[ { "user": "bob@example.com", "count": 4 }, { "user": "ann@example.com", "count": 1 }]The data can be filtered with the URL parameter q, which is a
search string.