Skip to content

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 }

Successful Response

PersonasResponse

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 text
  • expertise: 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
personas
required
Personas

List of persona objects with id, name, description, expertise

Array<object>
PersonaListItem

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 text
  • expertise: List of expertise areas
object
id
required
Id

Persona identifier

string
name
required
Name

Display name for the persona

string
description
required
Description

Persona description text

string
expertise
required
Expertise

List of expertise areas

Array<string>
count
required
Count

Total number of available personas

integer