Skip to main content
POST
/
api
/
ai
/
rtProxy
/
voiceTurn
Stream a provider-neutral avatar voice turn (Anam + future providers)
curl --request POST \
  --url https://pria.praxislxp.com/api/ai/rtProxy/voiceTurn \
  --header 'Content-Type: application/json' \
  --header 'x-access-token: <api-key>' \
  --data '
{
  "input": "What is on my schedule today?",
  "message": "<string>",
  "messages": [
    {
      "content": "<string>"
    }
  ],
  "requestArgs": {},
  "token": "<string>"
}
'
{
  "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.

Authorizations

x-access-token
string
header
required

JWT token passed in x-access-token header

Body

application/json
input
string

Final user utterance for this turn. Either input or message is required.

Example:

"What is on my schedule today?"

message
string

Alias for input (legacy). One of the two must be a non-empty string.

messages
object[]

Optional OpenAI-style conversation history for the turn. When omitted the server constructs [{role:'user', content: input}].

requestArgs
object

Optional realtime context (selectedCourse, assistantId, userISODate, userTimezone, etc.). Merged into the user object before context build.

token
string

Optional auth JWT (alternative to Authorization / x-access-token headers). Used by streaming clients that cannot easily set custom headers.

Response

NDJSON stream of segment lines terminated by one end line.

One NDJSON segment line emitted while the LLM streams. Boundary-flushed at tool calls so the avatar can narrate before/after each tool invocation.

type
enum<string>
Available options:
segment
kind
enum<string>
Available options:
speak
text
string

Narration text for this segment.