# Check Retraction

> Check whether a scholarly work has been retracted, corrected, or had an expression of concern raised (via Crossref + Retraction Watch).

- Skill: `mlava/check-retraction` (Agent Skill)
- Install (CLI): `npx skillmds@latest add mlava/check-retraction`
- Raw SKILL.md: https://api.skillmd.com/api/skills/mlava/check-retraction/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: mlava (https://skillmd.com/u/mlava)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/mlava/check-retraction

---


# checkRetraction

Looks up the live retraction status of an identifier against Crossref's update relationships and the Retraction Watch database. The route resolves any supported identifier to a DOI first, then checks it. Returns retraction / correction / expression-of-concern flags plus the notice records.

## When to use

- A user asks "is this paper still valid?" or "has this been retracted?"
- An agent is about to cite a paper in a clinical, legal, or academic context where retraction-awareness matters.
- A reviewer wants to flag retracted references in a manuscript.

## Inputs

- `id` (string, required) — one identifier per call: DOI (including shortDOI aliases like `10/aabbe`), PMID, PMCID, arXiv ID, or ADS bibcode. Pass it verbatim (`PMID:` and similar prefixes are tolerated). Books/ISBNs have no DOI, so they return a "no DOI" result.

## Outputs

```json
{
  "ok": true,
  "doi": "10.1016/s0140-6736(97)11096-0",
  "resolvedFrom": { "type": "pmid", "value": "9500320" },
  "result": {
    "isRetracted": true,
    "hasCorrections": false,
    "hasConcern": false,
    "notices": [
      {
        "type": "retraction",
        "label": "Retraction",
        "doi": "...",
        "date": "1998-03-06",
        "source": "crossref"
      }
    ],
    "title": "..."
  }
}
```

- `resolvedFrom` is present only when the input was not already a DOI.
- When no DOI can be found, `result` is `null` and `reason` is one of `no_doi` / `timeout` / `upstream`.

## Underlying surfaces

- **REST**: `POST /api/retraction-check` with `{ "id": "…" }`.
- **Web UI**: [`/tools/retraction-checker`](https://scholar-sidekick.com/tools/retraction-checker).
- **MCP tool**: `checkRetraction`.

## Example

```bash
curl -sS -X POST "https://scholar-sidekick.com/api/retraction-check" \
  -H "Content-Type: application/json" \
  -d '{"id":"10.1016/s0140-6736(97)11096-0"}'
```

## See also

- `verifyCitation` for fabrication detection (different concern — fake vs. retracted).
- `checkOpenAccess` for legal-copy lookup.

