---
title: "Score a chapter or passage for AI tells (0-100)"
method: POST
path: "/ai/self-check"
tags: ["ai"]
---

# Score a chapter or passage for AI tells (0-100)

`POST /ai/self-check`

## Request

- Base URL: `https://aistoryhub.co/api/v1`
- URL: `https://aistoryhub.co/api/v1/ai/self-check`
- Auth: HTTP bearer

Pure analysis against the platform's AI-cliche corpus and structural detectors -- no AI model call, so it doesn't require a BYOK key.

## Request body

- object
  - `story_id` string, uuid, required
  - `chapter_id` string, uuid: Score this chapter's current content.
  - `text` string: Or score this pasted passage instead.

## Response `200`

A 0-100 score (lower is cleaner) with the worst offenders listed.

- object
  - `score` integer
  - `findings` object[]

## Other responses

- `400`: The request body or parameters are invalid.
- `401`: Missing, malformed, invalid, revoked, or expired token.
- `403`: The token lacks the scope this endpoint requires.
- `404`: The resource does not exist or you do not own it.
- `429`: Too many requests. Retry after the delay in the `Retry-After` header.

---

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