Skip to content

Get Persona Context

POST
/api/chat/personas/context

Get streaming context for persona and stance combination

Retrieves comprehensive metadata for a specific persona and stance combination, including traits, expertise, approach, tone, and streaming configuration. Useful for UI display and streaming setup.

Args: persona: Persona type ID stance: Stance type ID

Returns: Dict containing: - persona: Persona details (type, base, traits, expertise) - stance: Stance details (type, approach, tone, focus) - streaming_metadata: Streaming configuration and version info

Example Request: POST /chat/personas/context { “persona”: “creative_editor”, “stance”: “supportive” }

Example Response: { “persona”: { “type”: “creative_editor”, “base”: “You are an experienced creative editor…”, “traits”: [“constructive”, “writer-focused”, …], “expertise”: [“prose improvement”, “story structure”, …] }, “stance”: { “type”: “supportive”, “approach”: “Be encouraging and confidence-building…”, “tone”: “encouraging and positive”, “focus”: “confidence-building and progress” }, “streaming_metadata”: { “timestamp”: “2024-01-15T10:00:00”, “persona_engine_version”: “1.0.0”, “streaming_enabled”: true } }

PersonaContextRequest

Request model for persona context retrieval.

Retrieves comprehensive metadata for a specific persona and stance combination including traits, expertise, approach, tone, and streaming configuration.

Fields: persona: Persona type ID (e.g., “creative_editor”, “technical_writer”) stance: Stance type ID (e.g., “supportive”, “concise”, “brainstorming”)

JSON Example: { “persona”: “creative_editor”, “stance”: “supportive” }

Used By: - POST /api/chat/personas/context - Streaming setup - UI persona display

object
persona
required
Persona

Persona type ID

string
stance
required
Stance

Stance type ID

string

Successful Response

PersonaContextResponse

Response model for persona context retrieval.

Returns comprehensive metadata for persona and stance combination including traits, expertise, approach, tone, and streaming configuration for streaming setup and UI display.

Fields:

  • persona: Persona details (dict with type, base, traits, expertise)
  • stance: Stance details (dict with type, approach, tone, focus)
  • streaming_metadata: Streaming configuration and version info (dict with timestamp, version, streaming_enabled)

Persona Object Structure:

  • type: Persona type ID
  • base: Base persona description/prompt
  • traits: List of persona traits
  • expertise: List of expertise areas

Stance Object Structure:

  • type: Stance type ID
  • approach: Stance approach description
  • tone: Tone description
  • focus: Focus area description

Streaming Metadata Structure:

  • timestamp: Context generation timestamp (ISO 8601)
  • persona_engine_version: Persona engine version
  • streaming_enabled: Whether streaming is enabled

Usage: POST /api/chat/personas/context returns this response model for streaming configuration, persona/stance metadata display, and context-aware prompt generation.

JSON Example:

{
  "persona": {
    "type": "creative_editor",
    "base": "You are an experienced creative editor...",
    "traits": ["constructive", "writer-focused", "detail-oriented"],
    "expertise": ["prose improvement", "story structure", "character arcs"]
  },
  "stance": {
    "type": "supportive",
    "approach": "Be encouraging and confidence-building...",
    "tone": "encouraging and positive",
    "focus": "confidence-building and progress"
  },
  "streamingMetadata": {
    "timestamp": "2025-01-30T10:00:00Z",
    "persona_engine_version": "1.0.0",
    "streaming_enabled": true
  }
}
object
persona
required
PersonaContextDetails

Persona details (type, base, traits, expertise)

object
type
required
Type

Persona type ID

string
base
required
Base

Base persona description/prompt

string
traits
required
Traits

List of persona traits

Array<string>
expertise
required
Expertise

List of expertise areas

Array<string>
stance
required
StanceContextDetails

Stance details (type, approach, tone, focus)

object
type
required
Type

Stance type ID

string
approach
required
Approach

Stance approach description

string
tone
required
Tone

Tone description

string
focus
required
Focus

Focus area description

string
streamingMetadata
required
StreamingMetadataDetails

Streaming configuration and version info

object
timestamp
required
Timestamp

Context generation timestamp (ISO 8601)

string
personaEngineVersion
required
Personaengineversion

Persona engine version

string
streamingEnabled
required
Streamingenabled

Whether streaming is enabled

boolean

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