---
title: "List faults"
method: GET
path: "/projects/{project_id}/faults"
tags: ["Faults"]
---

# List faults

`GET /projects/{project_id}/faults`

## Request

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

Returns a list of faults for the project.

## Path parameters

- `project_id` string, required

## Query parameters

- `page` integer
- `per_page` integer
- `q` string
- `order` 'recent' | 'frequent'
- `sort` 'asc' | 'desc'
- `created_after` number, double
- `occurred_after` number, double
- `occurred_before` number, double

## Response `200`

Success

- object
  - `data` Fault[], required
    - `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.
  - `pagination` Pagination: Offset-based pagination information
    - `page` integer, required: Current page number
    - `per_page` integer, required: Items per page
  - `links` OffsetLinks: Navigation links for a numbered-page collection. Each link is a root-relative path (`/v3/...`); resolve it against the API host.
    - `self` string, uri-reference, required: This page
    - `first` string, uri-reference: First page
    - `prev` string, nullable: Previous page, or null on the first page
    - `next` string, nullable: Next page, or null on the last page
  - `meta` ResponseMeta
    - `request_id` string: Unique identifier for the request, for correlating with support

## Other responses

- `400`: A query parameter is malformed or outside its allowed values. `error.details` names the parameter.
- `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
- `422`: No path names the account, so the API token has to. This is returned when the token covers more than one account and the account a request applies to cannot be determined. Use a token bound to a single account.

---

[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)
