Skip to content

Check Text

POST
/api/writing/worldspell/check

Check text for grammar issues with voice profile suppression.

Routes through DivinityExecutor / :class:WorldspellCheckHandler after Phase A12 of the M15 migration; the legacy direct-service fallback was retired with the LLM provider stack.

WorldSpellCheckRequest

Request to check text with WorldSpell.

object
content
required
Content

Text to check

string
>= 1 characters <= 500000 characters
projectId
required
Projectid

Project ID

string
>= 1 characters
documentId
Any of:
string
outlineNodeId
Any of:
string
ignoreRules
Ignorerules

Rule IDs to suppress for this check only

Array<string>

Successful Response

WorldSpellResult

Complete WorldSpell check result for a document or passage.

object
grammarViolations
required
Grammarviolations

All violations (including suppressed)

Array<object>
GrammarViolation

A single grammar issue from LanguageTool, with suppression metadata.

object
ruleId
required
Ruleid

LanguageTool rule ID

string
ruleDescription
required
Ruledescription

Human-readable rule description

string
category
required
Category

Rule category (e.g. Grammar, Typos, Style)

string
severity
Severity

Severity: error, warning, or info

string
default: warning
Allowed values: error warning info
message
required
Message

Violation message

string
context
required
Context

Text context around the violation

string
offset
required
Offset

Character offset in the checked text

integer
length
required
Length

Length of the flagged text

integer
lineNumber
Linenumber

Line number in the checked text

integer
default: 1 >= 1
column
Column

Column number in the checked text

integer
default: 1 >= 1
flaggedText
Flaggedtext

The actual flagged text extracted from the document

string
""
replacements
Replacements

Suggested replacements

Array<string>
suppressed
Suppressed

True if suppressed by a voice profile or dictionary

boolean
suppressedBy
Any of:
string
activeViolations
required
Activeviolations

Count of violations NOT suppressed

integer
suppressedViolations
required
Suppressedviolations

Count of violations suppressed by voice profiles

integer
activeVoiceProfiles
Activevoiceprofiles

Voice profiles active in scope for this check

Array<object>
ActiveVoiceProfileInfo

Metadata about a voice profile active in scope for this check.

object
id
required
Id

Profile identifier (e.g. ‘character:uuid’, ‘document:uuid’)

string
label
required
Label

Human-readable name (character name or document title)

string
profileType
required
Profiletype

Whether this profile comes from a Legendry character or a document

string
Allowed values: character document
customDictionaryWordsUsed
Customdictionarywordsused

Number of custom dictionary words that suppressed violations

integer
0
legendrySuppressions
Legendrysuppressions

Number of violations suppressed by Legendry title words

integer
0
builtinSuppressions
Builtinsuppressions

Number of violations suppressed by built-in allowlists (classical plurals, etc.) — the words most authors would otherwise have to add to their custom dictionary manually.

integer
0
legendryWords
Legendrywords

Legendry-derived words used for spelling suppression

Array<string>
checkTimestamp
required
Checktimestamp

ISO timestamp of the check

string

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object