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

# list personas

> Returns a list of all personas



## OpenAPI

````yaml https://api.anam.ai/swagger.json get /v1/personas
openapi: 3.1.0
info:
  title: Anam AI API
  version: '1.0'
servers:
  - url: https://api.anam.ai
    description: Anam API
security:
  - BearerAuth: []
tags:
  - name: Sessions
  - name: Personas
  - name: Avatars
  - name: Voices
  - name: LLMs
  - name: Knowledge
  - name: Tools
  - name: Share Links
paths:
  /v1/personas:
    get:
      tags:
        - Personas
      summary: list personas
      description: Returns a list of all personas
      operationId: listPersonas
      parameters:
        - in: query
          name: page
          schema:
            type: integer
            minimum: 1
            default: 1
          description: Page number for pagination
        - in: query
          name: perPage
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          description: Number of items per page
        - in: query
          name: search
          schema:
            type: string
          description: filter personas by name
      responses:
        '200':
          description: Successfully retrieved personas
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PersonaSummary'
                  meta:
                    $ref: '#/components/schemas/Pagination'
              examples:
                default:
                  $ref: '#/components/examples/PersonaListResponse'
        '401':
          description: Unauthorized - Invalid or missing API key
        '500':
          description: Server error
components:
  schemas:
    PersonaSummary:
      type: object
      description: >-
        Trimmed persona shape returned by the list endpoint. For the full shape
        use `GET /v1/personas/{id}`.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the persona.
        name:
          type: string
          description: Human-readable name of the persona.
        description:
          type: string
          description: >-
            Free-form description of the persona. Empty string if none was
            provided.
        personaPreset:
          type: string
          description: >-
            Name of the preset the persona was cloned from, or empty string if
            it was built from scratch.
        avatar:
          oneOf:
            - $ref: '#/components/schemas/Avatar'
            - type: 'null'
          description: Avatar currently attached to the persona, or `null` if none.
        voice:
          oneOf:
            - $ref: '#/components/schemas/Voice'
            - type: 'null'
          description: Voice currently attached to the persona, or `null` if none.
        voiceSpeed:
          type:
            - number
            - 'null'
          description: Speech rate multiplier applied to the voice.
        isDefaultPersona:
          type: boolean
          description: >-
            Whether this is a built-in default persona available to every
            organization.
        languageCode:
          type: string
          description: >-
            ISO 639-1 language override for transcription, or `inherit` to fall
            back to the organization default.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the persona was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the persona was last updated.
    Pagination:
      type: object
      description: >-
        Pagination metadata returned alongside the `data` array of every list
        endpoint.
      properties:
        total:
          type: integer
          description: Total number of items across all pages.
        lastPage:
          type: integer
          description: Number of the last page.
        currentPage:
          type: integer
          description: Number of the current page.
        perPage:
          type: integer
          description: Number of items per page.
        prev:
          type:
            - integer
            - 'null'
          description: Number of the previous page, or null if on the first page.
        next:
          type:
            - integer
            - 'null'
          description: Number of the next page, or null if on the last page.
    Avatar:
      type: object
      description: A face preset that a persona can use as its visual representation.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the avatar.
        displayName:
          type: string
          description: Human-readable name shown in the Lab and share links.
        variantName:
          type: string
          description: >-
            Name of the specific variant (e.g. lighting or pose) within the
            avatar family.
        imageUrl:
          type: string
          format: uri
          description: URL of the still image used as a preview of the avatar.
        videoUrl:
          type:
            - string
            - 'null'
          format: uri
          description: >-
            Signed URL for a muted idling MP4 preview of the avatar, if one
            exists. The URL expires after 1 hour; re-fetch the avatar to get a
            fresh URL. `null` when the preview is unavailable or still
            generating.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the avatar was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the avatar was last updated.
        createdByOrganizationId:
          type:
            - string
            - 'null'
          description: >-
            ID of the organization that created the avatar, or `null` for stock
            avatars. IDs may be either UUIDs or nanoid-style strings depending
            on when the organization was created.
        availableVersions:
          type: array
          items:
            type: string
          description: >-
            Internal avatar version identifiers this avatar has generated assets
            for. Current public model mappings are `v1` = `cara-2`, `v2` =
            `cara-3`, and `cara-4-*` = `cara-4-latest`. Use the public
            `avatarModel` request field when selecting a model.
        activeVersion:
          type: string
          description: >-
            Internal avatar version used by default when no explicit
            `avatarModel` is requested. Current public model mappings are `v1` =
            `cara-2`, `v2` = `cara-3`, and `cara-4-*` = `cara-4-latest`.
    Voice:
      type: object
      description: A voice preset a persona can use for text-to-speech.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the voice.
        displayName:
          type: string
          description: Human-readable name shown in the Lab.
        provider:
          type: string
          enum:
            - CARTESIA
            - ELEVENLABS
            - OPENAI_ADVANCED_VOICE
            - FISH_AUDIO
          description: Upstream TTS provider for this voice.
        providerVoiceId:
          type:
            - string
            - 'null'
          description: The upstream provider's identifier for the voice.
        providerModelId:
          type:
            - string
            - 'null'
          description: The upstream provider's model identifier used to generate speech.
        sampleUrl:
          type:
            - string
            - 'null'
          format: uri
          description: URL of a short audio preview of the voice.
        previewSampleUrl:
          type:
            - string
            - 'null'
          format: uri
          description: Alias for `sampleUrl`, kept for backwards compatibility.
        gender:
          type:
            - string
            - 'null'
          enum:
            - MALE
            - FEMALE
            - NEUTRAL
            - null
          description: Perceived gender of the voice, if categorised.
        country:
          type:
            - string
            - 'null'
          description: ISO 3166-1 alpha-2 country code representing the voice's accent.
        description:
          type:
            - string
            - 'null'
          description: Free-form description of the voice's character.
        displayTags:
          type: array
          items:
            type: string
          description: Tags used to categorise the voice in the Lab UI.
        isZdr:
          type: boolean
          description: Whether this voice meets the Zero Data Retention requirements.
        createdByOrganizationId:
          type:
            - string
            - 'null'
          description: >-
            ID of the organization that created the voice, or `null` for stock
            voices. IDs may be either UUIDs or nanoid-style strings depending on
            when the organization was created.
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the voice was created.
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the voice was last updated.
  examples:
    PersonaListResponse:
      summary: A paginated list of personas (trimmed shape)
      value:
        data:
          - id: 00000000-0000-0000-0000-000000000000
            name: Cara
            description: A helpful assistant
            personaPreset: ''
            avatar:
              id: 071b0286-4cce-4808-bee2-e642f1062de3
              displayName: Liv
              variantName: home
              imageUrl: https://lab.anam.ai/persona_thumbnails/liv_home.png
              videoUrl: >-
                https://anam-prod.r2.cloudflarestorage.com/avatars/v2/stock/liv_home/idling_video.mp4?X-Amz-Signature=...
              createdAt: '2026-04-20T10:00:00.000Z'
              updatedAt: '2026-04-20T10:00:00.000Z'
              createdByOrganizationId: null
              availableVersions:
                - v1
                - v2
                - cara-4-3
              activeVersion: v2
            voice:
              id: de23e340-1416-4dd8-977d-065a7ca11697
              displayName: Lucy - Fresh & Casual
              provider: ELEVENLABS
              providerVoiceId: lcMyyd2HUfFzxdCaC4Ta
              providerModelId: eleven_flash_v2_5
              sampleUrl: >-
                https://newgxnc1uqs0jnqm.public.blob.vercel-storage.com/voice-samples/de23e340-1416-4dd8-977d-065a7ca11697/1760617899390.mp3
              previewSampleUrl: >-
                https://newgxnc1uqs0jnqm.public.blob.vercel-storage.com/voice-samples/de23e340-1416-4dd8-977d-065a7ca11697/1760617899390.mp3
              gender: FEMALE
              country: GB
              description: >-
                Energetic and youthful British voice, perfect for narrations and
                conversational agents.
              displayTags:
                - fast
              isZdr: true
              createdByOrganizationId: null
              createdAt: '2026-04-20T10:00:00.000Z'
              updatedAt: '2026-04-20T10:00:00.000Z'
            voiceSpeed: 1
            isDefaultPersona: false
            languageCode: inherit
            createdAt: '2026-04-20T10:00:00.000Z'
            updatedAt: '2026-04-20T10:00:00.000Z'
        meta:
          total: 1
          lastPage: 1
          currentPage: 1
          perPage: 10
          prev: null
          next: null
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````