---
title: "Update a fault"
method: PATCH
path: "/projects/{project_id}/faults/{fault_id}"
tags: ["Faults"]
---

# Update a fault

`PATCH /projects/{project_id}/faults/{fault_id}`

## Request

- Base URL: `https://app.honeybadger.io/v3`
- URL: `https://app.honeybadger.io/v3/projects/{project_id}/faults/{fault_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/honeybadger/apis/honeybadger-api/docs/projects/:project_id/faults/:fault_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Updates a fault's attributes.

## Path parameters

- `project_id` string, required
- `fault_id` string, required

## Request body

- FaultInput: Writable fault attributes
  - `resolved` boolean
  - `ignored` boolean
  - `assignee_id` string, nullable: ID of a user on the project. Null unassigns.
  - `tags` string[], nullable
  - `resolve_on_deploy` boolean: Set to true to resolve this fault when the project's next deploy is recorded, in any environment. After that deploy, it reads false again. It has no effect if the fault is resolved or ignored once the rest of this update is applied. If the fault is resolved or ignored before the next deploy, the pending resolution is cancelled. Set it to false to cancel it yourself.

## Response `200`

Success

- object
  - `data` Fault, required: A unique error fingerprint (fault)
    - `id` string, required
    - `project_id` string, required: ID of the project this fault belongs to
    - `klass` string, nullable: Error class name
    - `message` string, required: Error message
    - `component` string, nullable: Component where the error occurred
    - `action` string, nullable: Action where the error occurred
    - `environment` string, nullable: Environment name
    - `resolved` boolean: Whether the fault is resolved
    - `ignored` boolean: Whether the fault is ignored
    - `created_at` string, date-time, required: When the fault was first reported
    - `last_notice_at` string, date-time, nullable: When the last notice was received
    - `notices_count` integer: Total number of notices for this fault
    - `comments_count` integer: Number of comments on this fault
    - `tags` string[]: Tags assigned to this fault
    - `assignee_id` string, nullable: Same as `assignee.id`. Written by PATCH or POST …/assign.
    - `snoozed` boolean: Whether a snooze is in effect now. A new snooze replaces any existing one.
    - `assignee` object, nullable: User assigned to this fault
      - `id` string: ID of the assignee
      - `name` string, nullable: Name of the assignee
      - `email` string: Email of the assignee
    - `last_notice_deploy` Deploy: A deploy event
      - `id` string, required
      - `project_id` string, required: ID of the project this deploy belongs to
      - `environment` string, nullable, required: Deploy environment; null when the deploy named none
      - `revision` string, nullable, required: Source control revision
      - `repository` string, nullable, required: Source control repository
      - `local_username` string, nullable, required: Username of the person who triggered the deploy
      - `created_at` string, date-time, required: When the deploy was recorded
    - `tickets` object[]: Issue tracker tickets linked to this fault
      - `url` string: URL of the ticket
      - `integration_id` string: ID of the integration that created the ticket
    - `resolve_on_deploy` boolean: Whether this fault is waiting to be resolved by the next recorded deploy. Absent for a fault on an inactive project.
    - `recording_paused_until` string, date-time, nullable: When a recording pause ends; null when recording is not paused. Absent for a fault on an inactive project.
    - `notices_count_in_range` integer: Notices inside the requested occurrence window. Present only when the request supplied `occurred_after` or `occurred_before`.
    - `links` WebLinks, required: Links into the Honeybadger web UI
      - `web` string, uri, required: The 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.
  - `meta` ResponseMeta
    - `request_id` string: Unique identifier for the request, for correlating with support

## Other responses

- `401`: The credential is missing, invalid, expired or revoked (`unauthorized`), or was sent in a way v3 doesn't accept (see the examples).
- `403`: 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.
- `404`: Resource not found
- `409`: This fault was merged into another, so the write wasn't applied. `error.details` names the fault it was merged into.
- `422`: Validation error

---

[API](https://skmtc.dev/honeybadger/apis/honeybadger-api.md) - [All operations](https://skmtc.dev/honeybadger/apis/honeybadger-api/llms.txt) - [OpenAPI document](https://skmtc.dev/honeybadger/apis/honeybadger-api/revisions/cbcff53f2c8a?raw)
