> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roark.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List personas

> Returns a paginated list of personas for the authenticated project.



## OpenAPI

````yaml /api-reference/openapi.documented.json get /v1/persona
openapi: 3.1.0
info:
  title: Roark Analytics API
  description: >-
    The Roark Analytics API gives you access to the same API that powers the
    award winning Roark Analytics platform.
  version: 1.0.0
servers:
  - description: Production
    url: https://api.roark.ai
security:
  - Bearer: []
tags:
  - name: Agent
  - name: Agent Endpoint
  - name: Call
  - name: Chat
  - name: Metric
  - name: Metric Policy
  - name: Metric Collection Job
  - name: Simulation Persona
  - name: Simulation Scenario
  - name: Simulation Run Plan
  - name: Simulation Run Plan Job
  - name: Simulation Job
  - name: HTTP Request Definition
  - name: Webhook
  - name: Issue
  - name: Knowledge Base
  - name: Call Analysis
  - name: Health
paths:
  /v1/persona:
    get:
      tags:
        - Simulation Persona
      summary: List personas
      description: Returns a paginated list of personas for the authenticated project.
      operationId: getV1Persona
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 20
        - in: query
          name: after
          schema:
            type: string
        - in: query
          name: searchText
          schema:
            type: string
      responses:
        '200':
          description: List of personas
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                          description: Unique identifier of the persona
                        name:
                          type: string
                          description: >-
                            The name the agent will identify as during
                            conversations
                        description:
                          type:
                            - string
                            - 'null'
                          description: Human-readable description of the persona
                        language:
                          type: string
                          enum:
                            - EN
                            - ES
                            - DE
                            - HI
                            - FR
                            - NL
                            - AR
                            - EL
                            - IT
                            - ID
                            - TH
                            - JA
                            - TL
                            - MS
                            - ZH
                            - TR
                            - PT
                            - HE
                          description: Primary language ISO 639-1 code for the persona
                        secondaryLanguage:
                          type:
                            - string
                            - 'null'
                          enum:
                            - EN
                          description: >-
                            Secondary language ISO 639-1 code for code-switching
                            (e.g., Hinglish, Spanglish)
                        accent:
                          type: string
                          enum:
                            - US
                            - US_X_SOUTH
                            - GB
                            - ES
                            - DE
                            - IN
                            - FR
                            - NL
                            - SA
                            - GR
                            - AU
                            - IT
                            - ID
                            - TH
                            - JP
                            - NZ
                            - PH
                            - SG
                            - MY
                            - HK
                            - TR
                            - PT
                            - IL
                          description: >-
                            Accent of the persona, defined using ISO 3166-1
                            alpha-2 country codes with optional variants
                        gender:
                          type: string
                          enum:
                            - MALE
                            - FEMALE
                          description: Gender of the persona
                        backgroundNoise:
                          type: string
                          enum:
                            - NONE
                            - AIRPORT
                            - CHILDREN_PLAYING
                            - CITY
                            - COFFEE_SHOP
                            - DRIVING
                            - OFFICE
                            - THUNDERSTORM
                          default: NONE
                          description: Background noise setting
                        speechPace:
                          type: string
                          enum:
                            - SUPER_SLOW
                            - SLOW
                            - NORMAL
                            - FAST
                            - SUPER_FAST
                          default: NORMAL
                          description: Speech pace of the persona
                        speechClarity:
                          type: string
                          enum:
                            - CLEAR
                            - VAGUE
                            - RAMBLING
                          default: CLEAR
                          description: Speech clarity of the persona
                        hasDisfluencies:
                          type: boolean
                          default: false
                          description: >-
                            Whether the persona uses filler words like "um" and
                            "uh"
                        baseEmotion:
                          type: string
                          enum:
                            - NEUTRAL
                            - CHEERFUL
                            - CONFUSED
                            - FRUSTRATED
                            - SKEPTICAL
                            - RUSHED
                            - DISTRACTED
                          default: NEUTRAL
                          description: Base emotional state of the persona
                        intentClarity:
                          type: string
                          enum:
                            - CLEAR
                            - INDIRECT
                            - VAGUE
                          default: CLEAR
                          description: How clearly the persona expresses their intentions
                        confirmationStyle:
                          type: string
                          enum:
                            - EXPLICIT
                            - VAGUE
                          default: EXPLICIT
                          description: How the persona confirms information
                        memoryReliability:
                          type: string
                          enum:
                            - HIGH
                            - LOW
                          default: HIGH
                          description: How reliable the persona's memory is
                        responseTiming:
                          type: string
                          enum:
                            - RELAXED
                            - NORMAL
                            - QUICK
                          default: NORMAL
                          description: >-
                            Controls how quickly the persona responds to pauses
                            in conversation (QUICK, NORMAL, RELAXED)
                        backstoryPrompt:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Background story and behavioral patterns for the
                            persona
                          example: A busy professional calling during lunch break
                        idleMessages:
                          type:
                            - array
                            - 'null'
                          items:
                            type: string
                          description: >-
                            Messages the persona will say when the agent goes
                            silent during a call. null = "Automatic":
                            language-appropriate defaults are used at call time.
                        idleTimeoutSeconds:
                          type: integer
                          minimum: 5
                          maximum: 60
                          default: 10
                          description: >-
                            Seconds of silence before the persona sends an idle
                            message
                        idleMessageMaxSpokenCount:
                          type: integer
                          minimum: 1
                          maximum: 10
                          default: 3
                          description: >-
                            Maximum number of idle messages the persona will
                            send before giving up
                        idleMessageResetCountOnUserSpeechEnabled:
                          type: boolean
                          default: true
                          description: >-
                            Whether the idle message counter resets when the
                            agent speaks
                        properties:
                          type: object
                          additionalProperties:
                            path: /v1/integrations/livekit-sdk/chunk-upload-url
                          default: {}
                          description: Additional custom properties about the persona
                          example:
                            age: 35
                            zipCode: '94105'
                            occupation: Software Engineer
                        createdAt:
                          type: string
                          description: Creation timestamp
                        updatedAt:
                          type: string
                          description: Last update timestamp
                      required:
                        - id
                        - name
                        - language
                        - accent
                        - gender
                        - backgroundNoise
                        - speechPace
                        - speechClarity
                        - hasDisfluencies
                        - baseEmotion
                        - intentClarity
                        - confirmationStyle
                        - memoryReliability
                        - responseTiming
                        - idleMessages
                        - idleTimeoutSeconds
                        - idleMessageMaxSpokenCount
                        - idleMessageResetCountOnUserSpeechEnabled
                        - properties
                        - createdAt
                        - updatedAt
                  pagination:
                    type: object
                    properties:
                      total:
                        type: number
                        description: Total number of items
                      hasMore:
                        type: boolean
                        description: Whether there are more items to fetch
                      nextCursor:
                        type:
                          - string
                          - 'null'
                        description: Cursor for the next page of items
                    required:
                      - total
                      - hasMore
                      - nextCursor
                required:
                  - data
                  - pagination
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Authentication error
              example:
                type: authentication
                code: unauthorized
                message: Authentication required
          description: Unauthorized
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
                description: Server error
              example:
                type: internal
                code: internal_error
                message: Internal server error
          description: Internal Server Error
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Roark from '@roarkanalytics/sdk';

            const client = new Roark({
              bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
            });

            const simulationPersonas = await client.simulationPersona.list();

            console.log(simulationPersonas.data);
        - lang: Python
          source: |-
            import os
            from roark_analytics import Roark

            client = Roark(
                bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"),  # This is the default and can be omitted
            )
            simulation_personas = client.simulation_persona.list()
            print(simulation_personas.data)
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - validation
            - authentication
            - forbidden
            - not_found
            - conflict
            - rate_limit
            - internal
          description: The error type category
          examples:
            - validation
            - authentication
        code:
          type: string
          description: Machine-readable error code identifier
          examples:
            - invalid_parameter
            - missing_required_field
            - unauthorized
        message:
          type: string
          description: Human-readable error message
          examples:
            - The request was invalid
            - Authentication required
        param:
          type: string
          description: The parameter that caused the error (if applicable)
          examples:
            - email
            - user_id
        details:
          description: Additional error context information
      required:
        - type
        - code
        - message
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````