---
title: "AI content: \"Check my texts\": spelling, grammar, filler, clichés and claims to verify (ai: false = only the free rules). Metered in Build Credits (DeepSeek, a few hundredths of a credit for a short text); the answer includes usage."
method: POST
path: "/builder/sessions/{sessionId}/content/check"
tags: ["Builder"]
---

# AI content: "Check my texts": spelling, grammar, filler, clichés and claims to verify (ai: false = only the free rules). Metered in Build Credits (DeepSeek, a few hundredths of a credit for a short text); the answer includes usage.

`POST /builder/sessions/{sessionId}/content/check`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/builder/sessions/{sessionId}/content/check`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Path parameters

- `sessionId` string, uuid, required

## Request body

- object
  - `lang` string, required
  - `ai` boolean: false: only the free rules (no model, no credits)
  - `noteLang` string: The language the AI writes its notes in (the dashboard language); English when omitted

## Response `200`

The findings

- object
  - `findings` object[], required
    - `keyPath` string, required
    - `lang` string, required
    - `label` string, required
    - `text` string, required
    - `kind` 'spelling' | 'grammar' | 'filler' | 'cliche' | 'claim' | 'placeholder', required
    - `quote` string, required
    - `message` string, required
    - `suggestion` string, nullable, required
    - `source` 'rules' | 'ai', required
    - `rule` 'welcome' | 'passionate' | 'worn' | 'jargon' | 'solutions' | 'quality' | 'lorem' | 'placeholder' | 'emoji' | 'award' | 'superlative' | 'rating' | 'figure' | 'year' | 'experience' | 'percent' | 'guarantee' | 'sample' | 'null', nullable, required: Which free rule found it (the dashboard words it in its own language); null for AI findings
  - `checked` integer, required
  - `usage` object, nullable, required
    - `model` string, required
    - `calls` integer, required
    - `inputTokens` integer, required
    - `outputTokens` integer, required
    - `cachedInputTokens` integer, required
    - `costMicros` integer, required: Model cost, micro-USD
    - `millicredits` integer, required
    - `credits` number, required
    - `charge` 'charged' | 'duplicate' | 'skipped' | 'failed' | 'none', required: What billing did with it (skipped: billing is off or the team is unlimited)

## Other responses

- `400`: Invalid request (code invalid_request; details.reason: invalid, unmappable, not_found, secret_detected)
- `401`: Missing or invalid session/token (code unauthorized)
- `402`: No Build Credits left, the team's daily credits are used (code limit_reached), or multilingual sites need a plan or credits (code upgrade_required, details.feature site.multilingual)
- `403`: Not permitted, or the AI builder is in private beta (code forbidden)
- `404`: Not found or not visible to the caller (code not_found)
- `409`: Refused for now (code conflict; details.reason turn_running, archived, language_exists, no_content, stale)
- `429`: Too many AI actions (code rate_limited; details.reason content_rate or capacity); see Retry-After
- `501`: The AI is not available on this server right now (code not_configured)
- `503`: The AI could not finish (code provider_unavailable); nothing was changed

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
