Create Entry
POST /api/creative/lore/entries
Create a new lore entry.
Request Body required
Section titled “Request Body required ”Request to create a lore entry.
object
Entry title
Entry content (may be empty for stub drafts)
Entry type
Source format
Tags
Nicknames or alternate names
Publication status
Attached visual asset IDs
A structured section within a lore entry.
object
Section identifier, e.g. ‘origins’
Display label, e.g. ‘Origins’
Markdown content
In-world knowledge status
Display order
Voice profile for a character, faction, species, or document.
Defines intentional language deviations so WorldSpell can suppress grammar/spelling violations that are stylistic choices, not errors.
object
Words that are intentional (lil, ya, ain’t, finna)
Multi-word phrases that are intentional
LanguageTool rule IDs to suppress (e.g. DOUBLE_NEGATIVES)
Language register
Reference text showing how this voice sounds
Author notes about this voice
Cultural naming rules attached to faction/species/culture lore entries.
Structured fields describe concrete patterns; the free-text notes
field captures anything that doesn’t fit a structured field.
object
Common name prefixes, e.g. [“Kha”, “Mor”]
Common name suffixes, e.g. [“-born”, “-kel”]
How surnames are formed in a culture.
Example surnames
Sound combinations to avoid
Canonical example names for this culture
Auto-create a timeline event from this entry
Responses
Section titled “ Responses ”Successful Response
Response for a single lore entry.
object
A structured section within a lore entry.
object
Section identifier, e.g. ‘origins’
Display label, e.g. ‘Origins’
Markdown content
In-world knowledge status
Display order
Voice profile for a character, faction, species, or document.
Defines intentional language deviations so WorldSpell can suppress grammar/spelling violations that are stylistic choices, not errors.
object
Words that are intentional (lil, ya, ain’t, finna)
Multi-word phrases that are intentional
LanguageTool rule IDs to suppress (e.g. DOUBLE_NEGATIVES)
Language register
Reference text showing how this voice sounds
Author notes about this voice
Cultural naming rules attached to faction/species/culture lore entries.
Structured fields describe concrete patterns; the free-text notes
field captures anything that doesn’t fit a structured field.
object
Common name prefixes, e.g. [“Kha”, “Mor”]
Common name suffixes, e.g. [“-born”, “-kel”]
How surnames are formed in a culture.
Example surnames
Sound combinations to avoid
Canonical example names for this culture
Dual-write state between SQLite and ChromaDB. ‘indexed’ means both stores are in sync; ‘pending’ means ChromaDB upsert is in flight; ‘failed’ means the upsert failed and the entry will be repaired by resync_pending_entries on next search.
State of the background entity-extraction task kicked off by create/update. ‘pending’ means extraction is still running (UI should show a subtle indicator and refresh shortly). ‘done’ is the default for fetched entries since extraction only runs on create/update. ‘skipped’ means the caller opted out of extraction for this entry.
Names of JSON fields (tags, aliases, sections, voice_profile, naming_conventions) that failed to parse and were reset to defaults. Non-empty means the UI should warn the user before silent re-save loses the original corrupt blob.
Validation Error