---
title: "Remove a table-read line's review flag."
method: DELETE
path: "/artifacts/{artifactId}/review-items/{entryIndex}"
tags: ["Artifacts"]
---

# Remove a table-read line's review flag.

`DELETE /artifacts/{artifactId}/review-items/{entryIndex}`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/artifacts/{artifactId}/review-items/{entryIndex}`
- Auth: HTTP bearer

Removes the review flag on ONE line of a `table_read` artifact, named by its `entryIndex`. Answers `removed` (whether a flag was there) and `entryIndex`; removing a flag the line does not have is the same no-op state, so a retry is always safe. A non-numeric or negative `entryIndex` is refused with 400 `validation_failed`. The same removal MCP `unflag_line_for_review` and `sleeperhit script review unflag` make. Free and naturally idempotent, so no `Idempotency-Key`.

## Response `200`

Whether a flag was removed.

- object
  - `artifactId` string, required
  - `entryIndex` integer, required
  - `removed` boolean, required

## Other responses

- `400`: Request payload failed validation. The error message names the offending field.
- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: The story artifact does not exist or is owned by another account.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
