Skip to main content
POST
Send a governed turn to the presentation's agent (Aletheia).

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Path Parameters

slug
string
required

The presentation slug.

Body

application/json
message
string
required

The viewer's turn.

Maximum string length: 4000
deck
string

The deck's own text, handed over by the page that is already rendering it, so Aletheia reads it as her primary source. Capped server-side.

history
object[]

Optional prior turns for multi-turn context. Only {role:'user'|'assistant', content:string} entries are honored; the newest 20 are kept.

Response

The turn's result. ok:false with blocked:true means Safe House withheld the response (governance success).

ok
boolean
required
blocked
boolean
required
answer
string | null
required
tier
enum<string>
required
Available options:
L1,
L2,
L3
citations
object[]
required
verdicts
object[]
required
attestation
object
required