Skip to content

Pause fault recording

View Markdown
POST https://app.honeybadger.io/v3/projects/{project_id}/faults/{fault_id}/pause_recording
Required scope faults:write

Stops recording a fault’s notices for a given duration; notices during the pause are discarded. Pausing again replaces the end time. The first occurrence after the pause notifies as usual.

Example request
Terminal window
curl -X POST "https://app.honeybadger.io/v3/projects/$PROJECT_ID/faults/$FAULT_ID/pause_recording" \
-H "Authorization: Bearer $HONEYBADGER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"time": "hour"
}'

Parameters

2

Path parameters

FieldTypeDescription
project_id requiredstringProject ID.
fault_id requiredstringFault ID.

Request body

FieldTypeDescription
time requiredstringA duration of an hour, a day or a week. Allowed values: hour, day, week.

Responses

1

200 Recording paused.

Returns the fault.

Example payload
{
"data": {
"id": "12345",
"project_id": "Xk9mZp",
"klass": "NoMethodError",
"message": "undefined method 'foo' for nil:NilClass",
"component": "UsersController",
"action": "show",
"environment": "production",
"resolved": true,
"ignored": true,
"created_at": "2026-01-01T00:00:00Z",
"last_notice_at": "2026-01-01T00:00:00Z",
"notices_count": 214,
"comments_count": 2,
"tags": [
"critical",
"backend"
],
"assignee_id": "Uq7rT2",
"snoozed": true,
"assignee": {
"id": "Uz4wKm",
"name": "Jane Smith",
"email": "jane@example.com"
},
"last_notice_deploy": {
"id": "Dp2yNk",
"project_id": "Xk9mZp",
"environment": "production",
"revision": "a1b2c3d4",
"repository": "acme/app",
"local_username": "jane",
"created_at": "2026-01-01T00:00:00Z"
},
"tickets": [
{
"url": "https://github.com/acme/shop/issues/482",
"integration_id": "Ch9wLp"
}
],
"resolve_on_deploy": true,
"recording_paused_until": "2026-01-01T00:00:00Z",
"notices_count_in_range": 37,
"links": {
"web": "https://app.honeybadger.io/projects/Xk9mZp"
}
},
"meta": {
"request_id": "6f1c2b0e-8d4a-4f6e-9b2a-3c5d7e9f1a2b"
}
}
Response schema39
FieldTypeDescription
data requiredobjectA unique error fingerprint (fault).
data.id requiredstring
data.project_id requiredstringID of the project this fault belongs to.
data.klassstring | nullError class name.
data.message requiredstringError message.
data.componentstring | nullComponent where the error occurred.
data.actionstring | nullAction where the error occurred.
data.environmentstring | nullEnvironment name.
data.resolvedbooleanWhether the fault is resolved.
data.ignoredbooleanWhether the fault is ignored.
data.created_at requireddate-timeWhen the fault was first reported.
data.last_notice_atdate-time | nullWhen the last notice was received.
data.notices_countintegerTotal number of notices for this fault.
data.comments_countintegerNumber of comments on this fault.
data.tagsarray<string>Tags assigned to this fault.
data.assignee_idstring | nullSame as assignee.id. Written by PATCH or POST …/assign.
data.snoozedbooleanWhether a snooze is in effect now. A new snooze replaces any existing one.
data.assigneeobject | nullUser assigned to this fault.
data.assignee.idstringID of the assignee.
data.assignee.namestring | nullName of the assignee.
data.assignee.emailstringEmail of the assignee.
data.last_notice_deployobject | nullThe deploy that was live when the error last occurred: the newest deploy in the fault's environment before last_notice_at. A guess from timing, not the deploy that introduced or resolved the error.
data.last_notice_deploy.id requiredstring
data.last_notice_deploy.project_id requiredstringID of the project this deploy belongs to.
data.last_notice_deploy.environment requiredstring | nullDeploy environment; null when the deploy named none.
data.last_notice_deploy.revision requiredstring | nullSource control revision.
data.last_notice_deploy.repository requiredstring | nullSource control repository.
data.last_notice_deploy.local_username requiredstring | nullUsername of the person who triggered the deploy.
data.last_notice_deploy.created_at requireddate-timeWhen the deploy was recorded.
data.ticketsarray<object>Issue tracker tickets linked to this fault.
data.tickets[].urlstringURL of the ticket.
data.tickets[].integration_idstringID of the integration that created the ticket.
data.resolve_on_deploybooleanWhether this fault is waiting to be resolved by the next recorded deploy. Absent for a fault on an inactive project.
data.recording_paused_untildate-time | nullWhen a recording pause ends; null when recording is not paused. Absent for a fault on an inactive project.
data.notices_count_in_rangeintegerNotices inside the requested occurrence window. Present only when the request supplied occurred_after or occurred_before.
data.links requiredobjectLinks into the Honeybadger web UI.
data.links.web requireduriThe resource's page in the Honeybadger web UI, as an absolute URL. Resources without a page, such as outages and deploys, don't have links. For a project provisioned through Heroku, error, notice and comment links go through Heroku's single sign-on.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.

Errors

5

401 Unauthorized

The credential is missing, invalid, expired or revoked (unauthorized), or was sent in a way v3 doesn’t accept (see the examples).

Example payload: unauthorized (Missing, malformed, expired or revoked credential)
{
"error": {
"code": "unauthorized",
"message": "Access denied"
},
"meta": {
"request_id": "abc123"
}
}
Example payload: unsupported_auth_scheme (Sent as HTTP basic, which v3 does not accept)
{
"error": {
"code": "unsupported_auth_scheme",
"message": "Send the credential as `Authorization: Bearer <token>`; v3 does not accept HTTP basic"
},
"meta": {
"request_id": "abc123"
}
}
Example payload: credential_in_query (Sent as the `auth_token` query parameter)
{
"error": {
"code": "credential_in_query",
"message": "Credentials must be sent in the Authorization header"
},
"meta": {
"request_id": "abc123"
}
}
Response schema6
FieldTypeDescription
error requiredobject
error.code requiredstringMachine-readable code. Branch on this, not the message. Allowed values: unauthorized, unsupported_auth_scheme, credential_in_query, access_denied, insufficient_scope, requires_user_token, project_restricted, account_inactive, account_parked, feature_unavailable, not_found, validation_error, delete_failed, limit_reached, rate_limit_exceeded, concurrent_request, streams_provisioning, ingestion_key_not_accepted, maintenance_mode, invalid_parameter, forbidden_attributes, service_unavailable, ambiguous_account, fault_merged.
error.message requiredstringHuman-readable explanation.
error.detailsarray<object> | objectA list of {field, message} on validation_error and invalid_parameter, and on feature_unavailable or limit_reached when one field caused the refusal; {required_scope, token_scopes} on insufficient_scope; {merged_into, location} on fault_merged. Absent when there's nothing to add.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.

403 Forbidden

The credential isn’t allowed to do this. error.code says why. An account or project the credential doesn’t cover is 404 not_found, not 403.

Example payload: access_denied (The credential isn't allowed to do this to this record)
{
"error": {
"code": "access_denied",
"message": "Access denied"
},
"meta": {
"request_id": "abc123"
}
}
Example payload: insufficient_scope (The credential lacks the permission this endpoint requires)
{
"error": {
"code": "insufficient_scope",
"message": "Insufficient scope",
"details": {
"required_scope": "faults:write",
"token_scopes": [
"faults:read",
"insights:read"
]
}
},
"meta": {
"request_id": "abc123"
}
}
Example payload: requires_user_token (The endpoint records who acted, and an account token has nobody)
{
"error": {
"code": "requires_user_token",
"message": "This endpoint records the person who acted, so it requires a user credential rather than an account token"
},
"meta": {
"request_id": "abc123"
}
}
Example payload: project_restricted (A project-restricted credential cannot create a project)
{
"error": {
"code": "project_restricted",
"message": "Project-restricted tokens cannot create projects"
},
"meta": {
"request_id": "abc123"
}
}
Response schema6
FieldTypeDescription
error requiredobject
error.code requiredstringMachine-readable code. Branch on this, not the message. Allowed values: unauthorized, unsupported_auth_scheme, credential_in_query, access_denied, insufficient_scope, requires_user_token, project_restricted, account_inactive, account_parked, feature_unavailable, not_found, validation_error, delete_failed, limit_reached, rate_limit_exceeded, concurrent_request, streams_provisioning, ingestion_key_not_accepted, maintenance_mode, invalid_parameter, forbidden_attributes, service_unavailable, ambiguous_account, fault_merged.
error.message requiredstringHuman-readable explanation.
error.detailsarray<object> | objectA list of {field, message} on validation_error and invalid_parameter, and on feature_unavailable or limit_reached when one field caused the refusal; {required_scope, token_scopes} on insufficient_scope; {merged_into, location} on fault_merged. Absent when there's nothing to add.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.

404 Not Found

Resource not found

Example payload
{
"error": {
"code": "not_found",
"message": "Resource not found"
},
"meta": {
"request_id": "abc123"
}
}
Response schema6
FieldTypeDescription
error requiredobject
error.code requiredstringMachine-readable code. Branch on this, not the message. Allowed values: unauthorized, unsupported_auth_scheme, credential_in_query, access_denied, insufficient_scope, requires_user_token, project_restricted, account_inactive, account_parked, feature_unavailable, not_found, validation_error, delete_failed, limit_reached, rate_limit_exceeded, concurrent_request, streams_provisioning, ingestion_key_not_accepted, maintenance_mode, invalid_parameter, forbidden_attributes, service_unavailable, ambiguous_account, fault_merged.
error.message requiredstringHuman-readable explanation.
error.detailsarray<object> | objectA list of {field, message} on validation_error and invalid_parameter, and on feature_unavailable or limit_reached when one field caused the refusal; {required_scope, token_scopes} on insufficient_scope; {merged_into, location} on fault_merged. Absent when there's nothing to add.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.

409 Conflict

This fault was merged into another, so the write wasn’t applied. error.details names the fault it was merged into.

Example payload
{
"error": {
"code": "fault_merged",
"message": "This fault was merged into fault 12345",
"details": {
"merged_into": "12345",
"location": "https://app.honeybadger.io/v3/projects/Xk9mZp/faults/12345"
}
},
"meta": {
"request_id": "abc123"
}
}
Response schema6
FieldTypeDescription
error requiredobject
error.code requiredstringMachine-readable code. Branch on this, not the message. Allowed values: unauthorized, unsupported_auth_scheme, credential_in_query, access_denied, insufficient_scope, requires_user_token, project_restricted, account_inactive, account_parked, feature_unavailable, not_found, validation_error, delete_failed, limit_reached, rate_limit_exceeded, concurrent_request, streams_provisioning, ingestion_key_not_accepted, maintenance_mode, invalid_parameter, forbidden_attributes, service_unavailable, ambiguous_account, fault_merged.
error.message requiredstringHuman-readable explanation.
error.detailsarray<object> | objectA list of {field, message} on validation_error and invalid_parameter, and on feature_unavailable or limit_reached when one field caused the refusal; {required_scope, token_scopes} on insufficient_scope; {merged_into, location} on fault_merged. Absent when there's nothing to add.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.

422 Unprocessable Content

Validation error

Example payload
{
"error": {
"code": "validation_error",
"message": "Name can't be blank",
"details": [
{
"field": "name",
"message": "can't be blank"
}
]
},
"meta": {
"request_id": "abc123"
}
}
Response schema6
FieldTypeDescription
error requiredobject
error.code requiredstringMachine-readable code. Branch on this, not the message. Allowed values: unauthorized, unsupported_auth_scheme, credential_in_query, access_denied, insufficient_scope, requires_user_token, project_restricted, account_inactive, account_parked, feature_unavailable, not_found, validation_error, delete_failed, limit_reached, rate_limit_exceeded, concurrent_request, streams_provisioning, ingestion_key_not_accepted, maintenance_mode, invalid_parameter, forbidden_attributes, service_unavailable, ambiguous_account, fault_merged.
error.message requiredstringHuman-readable explanation.
error.detailsarray<object> | objectA list of {field, message} on validation_error and invalid_parameter, and on feature_unavailable or limit_reached when one field caused the refusal; {required_scope, token_scopes} on insufficient_scope; {merged_into, location} on fault_merged. Absent when there's nothing to add.
metaobject
meta.request_idstringUnique identifier for the request, for correlating with support.