---
title: "Delete a knowledge gap for good"
method: DELETE
path: "/knowledge-gaps/{gap_id}"
tags: ["knowledge-gaps"]
---

# Delete a knowledge gap for good

`DELETE /knowledge-gaps/{gap_id}`

## Request

- Base URL: `https://api.scipot.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.scipot.ai/knowledge-gaps/{gap_id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/scipot/apis/scipot-core-api/docs/knowledge-gaps/:gap_id/delete.ts> (a function with typed inputs; its response is checked against the schema)

Delete the gap and everything it holds (question text, context, requester, answers, transition history), plus its idempotency key, so a new identical question records a fresh gap. Unlike the `dismissed` transition, nothing stays. Who may delete which gap is the integrator's policy; `unanswered_only=true` lets it delete only while nobody has answered, checked in the same write (409 otherwise). Deleting a POT deletes its gaps; deactivating a workspace deletes all of its gaps.

## Path parameters

- `gap_id` string, uuid, required

## Query parameters

- `unanswered_only` boolean: Delete only if the gap holds no answer at all (else 409).

## Response `204`

Successful Response

## Other responses

- `404`: No such gap in this workspace.
- `409`: `unanswered_only` was set and the gap already holds an answer.
- `422`: Validation Error

## Changes

- **2026-10-24** `d89eaa8551ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scipot/apis/scipot-core-api/changes/knowledge-gaps/:gap_id/delete.md)

---

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