Security enhancements to IP Vault and new Gemini 3.1 Flash Live STS model for Convo mode
curl --request POST \
--url https://pria.praxislxp.com/api/ai/rtProxy/lemonslice/chat \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"input": "What is on my schedule today?",
"message": "<string>",
"messages": [
{
"role": "user",
"content": "<string>"
}
],
"requestArgs": {},
"token": "<string>"
}
'{
"type": "segment",
"kind": "speak",
"text": "<string>"
}Drives a single LLM turn for the LemonSlice Hosted Pipeline avatar. The backend resolves the user’s institution context (assistant, RAG files, conversation history, memory, tools) and streams the LLM response back as NDJSON — one JSON object per line:
{"type":"segment","kind":"speak","text":"..."} — narration chunks
flushed at tool-call boundaries so the avatar can speak while a tool
executes. A tool-less turn emits one segment; N tools emit N+1.{"type":"end","text":"...","usage":N,"cached":N,"completion":N,"tools":[...]} —
terminal line with the full text and token/tool accounting.Response is application/x-ndjson; charset=utf-8 with X-Accel-Buffering: no
so HAProxy / nginx do not buffer the per-line frames.
curl --request POST \
--url https://pria.praxislxp.com/api/ai/rtProxy/lemonslice/chat \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"input": "What is on my schedule today?",
"message": "<string>",
"messages": [
{
"role": "user",
"content": "<string>"
}
],
"requestArgs": {},
"token": "<string>"
}
'{
"type": "segment",
"kind": "speak",
"text": "<string>"
}Documentation Index
Fetch the complete documentation index at: https://docs.praxis-ai.com/llms.txt
Use this file to discover all available pages before exploring further.
JWT token passed in x-access-token header
Final user utterance for this turn. Either input or message is required.
"What is on my schedule today?"
Alias for input (legacy). One of the two must be a non-empty string.
Optional OpenAI-style conversation history for the turn. When omitted the server constructs [{role:'user', content: input}].
Show child attributes
Optional realtime context (selectedCourse, assistantId, userISODate, userTimezone, etc.). Merged into the user object before context build.
Optional auth JWT (alternative to Authorization / x-access-token headers). Used by streaming clients that cannot easily set custom headers.
NDJSON stream — one JSON object per line. Begins with zero or more
segment lines and terminates with exactly one end line.
Was this page helpful?