---
title: "Set some of an issue's findings aside"
method: POST
path: "/v1/issues/{issue_id}/findings/ignore"
tags: ["findings"]
---

# Set some of an issue's findings aside

`POST /v1/issues/{issue_id}/findings/ignore`

## Request

- Base URL: `https://frontshelf.io/api`
- URL: `https://frontshelf.io/api/v1/issues/{issue_id}/findings/ignore`
- Auth: HTTP bearer

Set some of an issue's findings aside as deliberate won't-fixes, by url_hash, with a `reason` and an `expires_at` (30 days or 90 days from now, or a date at most 365 days ahead). A finding is one page the issue's rule fired on; the issue is the group. The issue's own state and version do not move: the count beside it does (open = affected - ignored). An ignored finding still counts as affected, is shown to your human, is undone with findings_unignore, and never counts as fixed. Hashes that are not findings of the issue's last crawl, or already ignored, are refused by name; the rest apply. It asks for confirmation: call it with dry_run: true to see what it would do, then with confirm: true. To set the whole issue aside, use issues_ignore.

## Path parameters

- `issue_id` string, required: The issue's id (iss_…), as issues_list and issues_get give it.

## Request body

- object
  - `url_hashes` string[], required: The findings, by url_hash (findings_list names them), 1 to 200. Each must be a finding of the issue in the crawl that last saw it; any other is refused by name and the rest apply.
  - `reason` string, required: Why these pages are not worth fixing, 1 to 200 characters. Your human reads it.
  - `expires_at` string, date-time, required: Required: the ignore lifts itself at this instant (ISO 8601, in the future): 30 days or 90 days from now, or a date at most 365 days ahead. Every ignore ends.
  - `dry_run` boolean: true: check the call and say what it would do, without doing it.
  - `confirm` boolean: true: go ahead with a change that asks for confirmation.

## Response `200`

Set some of an issue's findings aside

- object
  - `summary` string, required: The answer in one or two sentences, with the numbers it rests on.
  - `warnings` string[], required: What limits this answer (a cap, a read that was cut short). Empty when nothing does.
  - `next_actions` object[], required: What to call next, best first. Follow them.
    - `capability` string, required: What to call next: a capability.
    - `arguments` object, required: Its arguments, complete; pass them as they are.
    - `instruction` string, required: What to do, written to you.
  - `issue` object, required: The issue as it stands: its state and version do not move when findings do.
    - `id` string, required
    - `state` string, required
    - `version` integer, required
  - `crawl_seq` integer, required: The crawl the hashes were checked against: the one that last saw the issue.
  - `ignored` integer, required: Findings set aside by this call.
  - `refused` object[], required: Every hash not applied, each with why. Empty when all applied.
    - `url_hash` string, required
    - `reason` 'not_a_finding' | 'already_ignored', required
  - `counts` object, required: The issue's counts after the write.
    - `affected` integer, required: Findings in the crawl that last saw the issue; an ignored finding still counts.
    - `ignored` integer, required
    - `fixed` integer, required: Findings the verifier's latest per-page verdict calls fixed.
    - `open` integer, required: affected - ignored. Quote it with its parts, never alone.

## Other responses

- `400`: VALIDATION_FAILED
- `401`: UNAUTHENTICATED
- `403`: ORGANIZATION_FROZEN, SCOPE_DENIED
- `404`: ISSUE_NOT_FOUND
- `409`: AGENT_STOPPED
- `428`: CONFIRMATION_REQUIRED
- `503`: PLATFORM_READ_ONLY, DEPENDENCY_UNAVAILABLE

---

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