Skip to content

Get Session

GET
/api/creative/edit/dev-edit/sessions/{session_id}

Load a specific session — powers the session switcher.

session_id
required
Session Id
string

Successful Response

DevEditSessionResponse

Session payload the frontend switcher consumes.

object
sessionId
required
Sessionid
string
chapterNotes
Chapternotes
object
key
additional properties
any
comments
Comments
Array<object>
DevEditComment

Legacy-compatible comment shape. M7 findings populate the same fields (so the TipTap extension + comments UI keep working) but new findings also carry rule_id + source_handler via comment_type / the comment text prefix.

object
id
required
Id
string
documentId
required
Documentid
string
paragraphIndex
required
Paragraphindex
integer
charOffsetStart
required
Charoffsetstart
integer
charOffsetEnd
required
Charoffsetend
integer
passageText
required
Passagetext
string
commentText
required
Commenttext
string
commentType
required
Commenttype
string
severity
required
Severity
string
status
Status
string
default: pending
dismissReason
Dismissreason
string
""
documentContentHash
Documentcontenthash
string
""
createdAt
required
Createdat
integer
editorialLetter
Any of:
EditorialLetter

Legacy LLM-era letter shape — kept for pre-M7 session rendering.

New M7 sessions hold an :class:EditorialReport instead (six sections + findings + markdown). This type survives for backward-compatible GET /{session_id}/letter responses on legacy sessions.

object
sessionId
required
Sessionid
string
manuscriptTitle
required
Manuscripttitle
string
overallAssessment
required
Overallassessment
string
structureAnalysis
required
Structureanalysis
string
characterAnalysis
required
Characteranalysis
string
paceAndTension
required
Paceandtension
string
themeAndVoice
required
Themeandvoice
string
topPriorities
Toppriorities
Array<string>
encouragement
Encouragement
string
""
createdAt
required
Createdat
integer
report
Any of:
EditorialReport

Full deterministic editorial report (M7).

object
sessionId
required
Sessionid

Editorial report session id

string
projectId
required
Projectid

Project id

string
generatedAt
required
Generatedat

Unix epoch seconds

integer
overallAssessment
required
OverallAssessmentSection

Section 1

object
intro
required
Intro

Authored-library rendered intro

string
manuscriptStats
Manuscriptstats

Word_count, scene_count, chapter_count, character_count, finding_count

object
key
additional properties
Any of:
number
healthScores
Any of:
HealthScores

Manuscript-level health scores, 0-100 each.

object
structure
required
Structure

Plot + beat coverage health

number
character
required
Character

Arc + screen-time balance health

number
pace
required
Pace

Pacing + tension health

number
voice
required
Voice

Voice + register consistency health

number
lore
required
Lore

Lore ML finding density health

number
overall
required
Overall

Weighted composite

number
topSeverityFindings
Topseverityfindings
Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
structureAnalysis
required
StructureAnalysisSection

Section 2

object
intro
required
Intro

Authored-library rendered intro

string
beatCoverage
Beatcoverage
Array<object>
BeatCoverageTableRow

One row in the structure-analysis beat coverage table.

object
plotlineName
required
Plotlinename

Plotline display name

string
coveragePct
required
Coveragepct

0-1

number
missingBeats
Missingbeats
Array<string>
outcomeDistribution
Outcomedistribution
Array<object>
OutcomeDistributionRow

One row in the outcome-distribution table.

object
outcome
required
Outcome

Scene outcome enum

string
count
required
Count

Count across manuscript

integer
share
required
Share

Count / total, 0-1

number
plotProgression
Any of:
PlotProgression

Per-chapter (or per-manuscript) plot-progression aggregate.

object
plotPointsPerScene
Plotpointsperscene

Plot-point hits per scene in reading order

Array<integer>
stalledSequences
Stalledsequences

Runs of scenes [start_idx, end_idx] without plot advancement

Array<array>
totalPlotPointsHit
Totalplotpointshit
integer
0
structureFindings
Structurefindings
Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
characterAnalysis
required
CharacterAnalysisSection

Section 3

object
intro
required
Intro

Authored-library rendered intro

string
characters
Characters
Array<object>
CharacterReport

Per-character sub-section inside character-analysis.

object
characterName
required
Charactername

Display name

string
screenTime
required
CharacterScreenTime

Screen time row

object
characterEntityId
required
Characterentityid

Lore entity id

string
characterName
required
Charactername

Display name

string
declaredRole
Any of:
string
sceneCount
required
Scenecount

Scenes where character is a participant

integer
mentionCount
required
Mentioncount

Total prose mentions (name + aliases)

integer
mentionShare
required
Mentionshare

Mention count / total character mentions, 0-1

number
arcProgression
Any of:
ArcProgression

Per-character manuscript arc-progression row.

object
characterEntityId
required
Characterentityid

Lore entity id

string
characterName
required
Charactername

Display name

string
arcType
Any of:
string
stagesPerChapter
Stagesperchapter

Per-chapter majority arc_stage in reading order

Array<string>
stalledChapterRuns
Stalledchapterruns

Chapter index runs [start, end] with no arc advancement

Array<array>
voiceMatch
Any of:
number
characterFindings
Characterfindings
Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
paceAndTension
required
PaceAndTensionSection

Section 4

object
intro
required
Intro

Authored-library rendered intro

string
tensionCurve
Tensioncurve

Chapter-level avg tension intensity in reading order

Array<number>
chapterPacing
Chapterpacing
Array<object>
PacingProfile

Per-chapter pacing aggregate.

object
sceneWordCountVariance
required
Scenewordcountvariance

Variance across scene lengths

number
avgSceneLength
required
Avgscenelength

Mean scene word count

number
maxMinSpread
required
Maxminspread

Max - min scene word count

integer
sentenceLengthVariance
required
Sentencelengthvariance

Variance in avg sentence length across scenes

number
tensionCurve
Tensioncurve

Per-scene avg tension intensity in reading order

Array<number>
flatlineSegments
Flatlinesegments

Runs of scenes [start_idx, end_idx] with below-threshold variance

Array<array>
pacingFindings
Pacingfindings
Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
themeAndVoice
required
ThemeAndVoiceSection

Section 5

object
intro
required
Intro

Authored-library rendered umbrella intro

string
themesIntro
Themesintro

Authored-library intro for the Themes subsection

string
""
themes
Themes

BERTopic-style clusters with per-chapter weights + consistency

Array<object>
Theme

One detected theme cluster with per-chapter weight distribution.

object
themeId
required
Themeid

Deterministic id: theme_N

string
label
required
Label

C-TF-IDF top term — human-readable label

string
keywords
Keywords

Top-N c-TF-IDF terms

Array<string>
mentions
Mentions
Array<object>
ThemeMention

One paragraph-level mention of a detected theme or motif.

object
chapterId
required
Chapterid

Outline chapter id

string
sceneId
required
Sceneid

Scene id

string
paragraphIndex
required
Paragraphindex

Paragraph index within scene prose

integer
startChar
required
Startchar

Character offset start in scene prose

integer
endChar
required
Endchar

Character offset end in scene prose

integer
score
required
Score

Topic probability / recurrence score 0..1

number
<= 1
chapterWeights
Chapterweights

Chapter_id -> 0..1 probability mass

object
key
additional properties
number
manuscriptWeight
required
Manuscriptweight

Normalized share across manuscript

number
<= 1
firstChapter
required
Firstchapter

Chapter id where theme first appears

string
lastChapter
required
Lastchapter

Chapter id where theme last appears

string
consistencyScore
required
Consistencyscore

Shannon-entropy-normalized evenness 0..1

number
<= 1
motifsIntro
Motifsintro

Authored-library intro for the Motifs subsection

string
""
motifs
Motifs

Recurring surface forms with gap-run analysis

Array<object>
Motif

One recurring motif with gap-run analysis.

object
motifId
required
Motifid

Deterministic id: motif_N

string
surfaceForm
required
Surfaceform

Canonical lowercased token or n-gram

string
mentions
Mentions
Array<object>
ThemeMention

One paragraph-level mention of a detected theme or motif.

object
chapterId
required
Chapterid

Outline chapter id

string
sceneId
required
Sceneid

Scene id

string
paragraphIndex
required
Paragraphindex

Paragraph index within scene prose

integer
startChar
required
Startchar

Character offset start in scene prose

integer
endChar
required
Endchar

Character offset end in scene prose

integer
score
required
Score

Topic probability / recurrence score 0..1

number
<= 1
gapRuns
Gapruns

(chapter_from, chapter_to) pairs with consecutive absent chapters

Array<array>
recurrenceScore
required
Recurrencescore

Appearances / chapters_spanned

number
<= 1
voiceDriftIntro
Voicedriftintro

Authored-library intro for the Voice Drift subsection

string
""
voiceDrift
Voicedrift
Array<object>
VoiceDriftSignal

Per-chapter voice-drift signal.

object
chapterId
required
Chapterid

Chapter node id

string
chapterIndex
required
Chapterindex

Reading-order index

integer
chapterDominantRegister
required
Chapterdominantregister

Formal | casual | archaic | mixed

string
manuscriptDominantRegister
required
Manuscriptdominantregister

Manuscript median register

string
formalDensityDelta
required
Formaldensitydelta

Chapter - manuscript formal density

number
casualDensityDelta
required
Casualdensitydelta

Chapter - manuscript casual density

number
driftScore
required
Driftscore

Standardised drift magnitude

number
themeFindings
Themefindings

Editorial.theme_consistency_gap / editorial.motif_dropped / editorial.theme_imbalance / editorial.theme_detection_failed

Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
registerFindings
Registerfindings
Array<object>
HawkenFindingItem

One finding produced by a sub-scanner during a scene scan (M5).

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
coverageNotes
Coveragenotes

Pipeline coverage notes (short chapters, empty manuscript, etc.)

Array<string>
topPriorities
required
TopPrioritiesSection

Section 6

object
intro
required
Intro

Authored-library rendered intro

string
priorities
Priorities
Array<object>
PriorityFinding

Top-priority finding entry.

object
rank
required
Rank

Priority rank (1 = highest)

integer
finding
required
HawkenFindingItem

The finding

object
ruleId
required
Ruleid

Source-prefixed rule identifier

string
severity
required
Severity

Error | warning | info

string
source
required
Source

Sub-report id that produced this finding

string
message
required
Message

Human-readable diagnosis

string
scopeRef
required
Scoperef

Scope the finding is about

string
locationStart
Any of:
integer
locationEnd
Any of:
integer
citations
Citations
Array<string>
suggestion
Any of:
string
metadata
Metadata
object
key
additional properties
string
rationale
required
Rationale

Why this is top-priority (severity + source)

string
findings
Findings

Flat findings list for TipTap decorations

Array<object>
EditorialReportFinding

Flat finding representation for TipTap decorations + SQLite persistence.

object
id
required
Id

Stable finding id (session-scoped)

string
sessionId
required
Sessionid

Editorial report session id

string
documentId
Any of:
string
sceneId
Any of:
string
ruleId
required
Ruleid

Source-prefixed rule id

string
sourceHandler
required
Sourcehandler

Originating handler (proseguard | editorial | lore_ml | …)

string
severity
required
Severity

Error | warning | info

string
message
required
Message

Authored-library rendered message

string
suggestion
Any of:
string
paragraphIndex
Paragraphindex

Paragraph index in scene prose

integer
0
charOffsetStart
Charoffsetstart
integer
0
charOffsetEnd
Charoffsetend
integer
0
passageText
Passagetext
string
""
metadata
Metadata

Stringified metadata for SQLite storage

object
key
additional properties
string
documentContentHash
Documentcontenthash

SHA-256 of scene prose at scan time for stale detection

string
""
status
Status

Pending | resolved | dismissed

string
default: pending
markdown
required
Markdown

Fully rendered Markdown report

string
totalChapters
required
Totalchapters
integer
currentDocumentHashes
Currentdocumenthashes
object
key
additional properties
string
isLegacy
Islegacy
boolean
createdAt
required
Createdat
integer

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