Get Available Personas
GET /api/chat/personas
Get list of available AI personas
Retrieves all available AI personas with their descriptions, traits, and expertise areas. Use this endpoint to populate persona selection in the UI.
Returns: PersonasResponse containing: - personas: List of persona objects with id, name, description, expertise - count: Total number of available personas
Example Response: { “personas”: [ { “id”: “lore_scholar”, “name”: “Lore Scholar”, “description”: “You are a distinguished scholar of the author’s world…”, “expertise”: [“lore”, “world-building consistency”, …] }, … ], “count”: 8 }
Responses
Section titled “ Responses ”Successful Response
Response model for available personas listing.
Returns list of all available AI personas with their descriptions, traits, and expertise areas for persona selection in the UI.
Fields:
personas: List of persona objects with id, name, description, expertise (list of dicts)count: Total number of available personas (non-negative integer)
Persona Object Structure: Each persona object contains:
id: Persona identifier (e.g., “lore_scholar”, “creative_editor”)name: Display name (e.g., “Lore Scholar”, “Creative Editor”)description: Persona description textexpertise: List of expertise areas (e.g., [“project lore”, “world-building”])
Usage: GET /api/chat/personas returns this response model for persona selection UI, persona discovery, and persona management interfaces.
JSON Example:
{
"personas": [
{
"id": "lore_scholar",
"name": "Lore Scholar",
"description": "You are a distinguished scholar with deep knowledge of the author's world...",
"expertise": ["project lore", "world-building consistency", "character development"]
},
{
"id": "creative_editor",
"name": "Creative Editor",
"description": "You are an experienced creative editor...",
"expertise": ["prose improvement", "story structure", "character arcs"]
}
],
"count": 8
}object
List of persona objects with id, name, description, expertise
Individual persona item for persona listing.
Represents a single persona in the personas list with all metadata needed for persona selection UI and discovery.
Fields:
id: Persona identifier (e.g., “lore_scholar”, “creative_editor”)name: Display name (e.g., “Lore Scholar”, “Creative Editor”)description: Persona description textexpertise: List of expertise areas
object
Persona identifier
Display name for the persona
Persona description text
List of expertise areas
Total number of available personas