---
title: "Set an issue aside as a deliberate won't-fix"
method: POST
path: "/v1/issues/{issue_id}/ignore"
tags: ["issues"]
---

# Set an issue aside as a deliberate won't-fix

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

## Request

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

Set an issue aside as a deliberate won't-fix, with a `reason` and an `expires_at` (30 days or 90 days from now, or a date at most 365 days ahead); the issue reopens then. An ignore is shown to your human, undone with issues_unignore, and never counts as fixed. Use it only when the issue is not worth fixing, never to empty the queue; when you fixed it, call issues_report_deployed instead. It asks for confirmation: call it with dry_run: true to see what it would do, then with confirm: true. Pass the `version` you last read as expected_version. A step the issue's state does not allow answers INVALID_TRANSITION, with the capabilities that are legal now in `details.legal_actions`.

## Path parameters

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

## Request body

- object
  - `expected_version` integer, required: The issue's `version` as you last read it: read the issue with issues_get to get it. A stale one answers STALE_ISSUE_STATE with the current version; read the issue again, then retry.
  - `reason` string, required: Why the issue is not worth fixing, 1 to 200 characters. Your human reads it beside the issue and in the audit log.
  - `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 an issue aside as a deliberate won't-fix

- 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 now.
    - `id` string, required
    - `state` 'open' | 'acknowledged' | 'ignored' | 'pending_fix' | 'awaiting_merge' | 'awaiting_deployment' | 'verification_queued' | 'verification_running' | 'verified_resolved' | 'verification_failed' | 'regression_detected' | 'needs_human_review' | 'no_longer_checked', required: The issue's state after the step.
    - `version` integer, required: The issue's version after the step: pass it as expected_version next time.

## Other responses

- `400`: VALIDATION_FAILED
- `401`: UNAUTHENTICATED
- `403`: ORGANIZATION_FROZEN, SCOPE_DENIED
- `404`: ISSUE_NOT_FOUND
- `409`: STALE_ISSUE_STATE, INVALID_TRANSITION, 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)
