---
title: "Recheck the guide text against the latest information gain analysis"
method: POST
path: "/api/v1/information-gain/coverage"
tags: ["v1", "In-guide features"]
---

# Recheck the guide text against the latest information gain analysis

`POST /api/v1/information-gain/coverage`

## Request

- Base URL: `https://app.serpmantics.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.serpmantics.com/api/v1/information-gain/coverage`
- Auth: HTTP bearer

Réservé : en test, accès sur invitation. Reserved feature, in test, access by invitation. Accounts without access receive 403 FEATURE_NOT_AVAILABLE.

Recomputes only the guide column of the latest analysis (which facts the text states, in full or in part) without reading any competing page again. Call it after editing the text, to see the score and the missing facts move. It needs a done analysis; launch one with create_information_gain first.

Asynchronous, about 10 seconds. Wait about 10 seconds, then call get_information_gain (view=summary) until status is done or failed.

htmlContent is optional. When given, this HTML is checked (send the text as displayed, without mark tags); when omitted, the text saved in the guide is used. htmlContent is limited to 2,000,000 bytes (UTF-8) through the API, and to about 1 MB through the MCP server (the size of the whole MCP request).

Costs 5 tokens, charged when the recheck is launched (202, the body carries tokensCharged). Nothing is charged when the call is refused before the launch is attempted (invalid input, 403, 404, or 409 ANALYSIS_RUNNING and ANALYSIS_NOT_DONE read before charging). When the launch itself fails after the charge, whatever the status, the tokens are given back before the response and the body carries refunded (true when the credit is on the ledger, false when the refund failed and is logged for a manual replay). When an accepted recheck ends without a new verdict, its tokens are given back at the first read that sees it (get_information_gain), whose response then carries refunded and refundedTokens.

## Request body

- object
  - `guideId` string, required: ID of the guide (24 hexadecimal characters).
  - `htmlContent` string: Optional HTML of the article to check, without mark tags. Omit it to check the text saved in the guide. At most 2,000,000 bytes (UTF-8) through the API, about 1 MB through the MCP server.

## Response `202`

Recheck launched. Poll pollUrl (or call get_information_gain) until status is done or failed.

- object
  - `success` boolean
  - `data` object
    - `analysisId` string
    - `status` string
    - `pollUrl` string
    - `tokensCharged` integer: Tokens charged for this recheck.

## Other responses

- `400`: Invalid input, or not enough tokens. code is INVALID_GUIDE_ID or INVALID_HTML_CONTENT (htmlContent given but not a non-empty string, or not valid Unicode, for instance a lone UTF-16 surrogate), fix the input and do not retry as is. code INSUFFICIENT_TOKENS means the balance is under the 5 tokens of a recheck, nothing was charged nor launched, and the body carries inviteToUpgrade true, upgradeType tokens and tokensRequired. code TOKENS_NOT_CONSUMED means the debit could not be confirmed, nothing was launched.
- `401`: Unauthorized, invalid or missing API key.
- `403`: code FEATURE_NOT_AVAILABLE. The feature is in test and reserved to invited accounts. Nothing was read nor launched. Do not retry.
- `404`: code GUIDE_NOT_FOUND (guide unknown, deleted or not accessible, deliberately indistinguishable) or NO_ANALYSIS (no analysis to recheck, launch one with create_information_gain).
- `405`: Method not allowed.
- `409`: code ANALYSIS_RUNNING (an analysis or a recheck is already running, the body carries its analysisId and pollUrl, follow it) or ANALYSIS_NOT_DONE (the latest analysis failed, launch a new one). Nothing is charged when the conflict is read before charging. When it is only reported by the analysis service (concurrent launch), the tokens are given back and the body carries refunded.
- `413`: code CONTENT_TOO_LARGE. htmlContent is over 2,000,000 bytes (UTF-8). Send a shorter text, do not retry as is. A JSON body over 4 MB is refused before being read, with a plain text 413.
- `500`: Internal error. When the token debit could not be recorded, the tokens are given back and the body carries refunded.
- `502`: code BACKEND_ERROR. The analysis service did not answer or answered unexpectedly. Retry later, unless the message says retrying will not help. The tokens charged for the call are given back and the body carries refunded.
- `503`: Temporary outage (database or analysis service). Retry after a short delay.

---

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