---
title: "get persona"
method: GET
path: "/v1/personas/{id}"
tags: ["Personas"]
---

# get persona

`GET /v1/personas/{id}`

Returns a persona by id

## Path parameters

- `id` string, required

## Response `200`

Successfully retrieved persona

- Persona — Full persona shape returned by the create, get, and update endpoints.
  - `id` string, uuid — Unique identifier for the persona.
  - `name` string — Human-readable name of the persona.
  - `description` string, nullable — Free-form description of the persona.
  - `personaPreset` string — Name of the preset the persona was cloned from, if any.
  - `avatar` Avatar — A face preset that a persona can use as its visual representation.
    - `id` string, uuid — Unique identifier for the avatar.
    - `displayName` string — Human-readable name shown in the Lab and share links.
    - `variantName` string — Name of the specific variant (e.g. lighting or pose) within the avatar family.
    - `imageUrl` string, uri — URL of the still image used as a preview of the avatar.
    - `landscapeImageUrl` string, uri, nullable — Preview image cropped exactly as the engine frames landscape (1152x768) output. Use this when displaying the avatar at a landscape aspect ratio. For avatars with legacy landscape source images this is the same as `imageUrl`.
    - `portraitImageUrl` string, uri, nullable — Preview image cropped exactly as the engine frames portrait (768x1152) output. Use this when starting a session with portrait `videoWidth`/`videoHeight`. `null` when the avatar cannot render portrait output.
    - `videoUrl` string, uri, nullable — Signed URL for a muted 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.
    - `idleVideoUrl` string, uri, nullable — Signed URL for a muted idling-loop MP4 of the avatar, if one exists. The URL expires after 1 hour; re-fetch the avatar to get a fresh URL. `null` when unavailable or still generating.
    - `createdAt` string, date-time — Timestamp when the avatar was created.
    - `updatedAt` string, date-time — Timestamp when the avatar was last updated.
    - `createdByOrganizationId` string, nullable — 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` string[] — Avatar models this avatar can be used with. Pass one of these values as `avatarModel` when creating a persona or starting a session.
    - `activeVersion` string, nullable — Avatar model used by default when no explicit `avatarModel` is requested.
    - `description` string, nullable — AI-generated description of the avatar's appearance, setting, and style. `null` if metadata generation has not completed.
    - `displayTags` string[] — Curated tags describing the avatar. Empty array if metadata generation has not completed.
    - `renderStyle` 'realistic' | 'animated_3d' | 'illustrated' | 'unknown' — Render style of the avatar. `unknown` covers custom avatars and avatars whose metadata has not yet been generated.
  - `avatarModel` string, nullable — Public model version (e.g. `cara-3`, `cara-4`) used when rendering the avatar.
  - `voice` Voice — A voice preset a persona can use for text-to-speech.
    - `id` string, uuid — Unique identifier for the voice.
    - `displayName` string — Human-readable name shown in the Lab.
    - `provider` 'CARTESIA' | 'ELEVENLABS' | 'OPENAI_ADVANCED_VOICE' | 'FISH_AUDIO' — Upstream TTS provider for this voice.
    - `providerVoiceId` string, nullable — The upstream provider's identifier for the voice.
    - `providerModelId` string, nullable — The upstream provider's model identifier used to generate speech.
    - `sampleUrl` string, uri, nullable — URL of a short audio preview of the voice.
    - `previewSampleUrl` string, uri, nullable — Alias for `sampleUrl`, kept for backwards compatibility.
    - `gender` 'MALE' | 'FEMALE' | 'NEUTRAL' | 'null', nullable — Perceived gender of the voice, if categorised.
    - `country` string, nullable — ISO 3166-1 alpha-2 country code representing the voice's accent.
    - `description` string, nullable — Free-form description of the voice's character.
    - `displayTags` string[] — Tags used to categorise the voice in the Lab UI.
    - `isZdr` boolean — Whether this voice meets the Zero Data Retention requirements.
    - `createdByOrganizationId` string, nullable — 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` string, date-time — Timestamp when the voice was created.
    - `updatedAt` string, date-time — Timestamp when the voice was last updated.
  - `voiceSpeed` number, nullable — Speech rate multiplier applied to the voice.
  - `llmId` string, uuid, nullable — ID of the LLM the persona uses, or `null` for presets that don't run an LLM.
  - `brain` PersonaBrain — Persona behaviour configuration applied on top of the raw LLM.
    - `personality` string, nullable — Free-form description of the persona's personality, used to seed the system prompt.
    - `systemPrompt` string, nullable — System prompt sent to the LLM at the start of each session.
  - `tools` object[] — Tool configurations currently attached to the persona.
  - `knowledge` object[] — Knowledge group attachments currently active on the persona.
  - `shareLinks` ShareLink[], nullable — All share links ever issued for this persona.
    - `id` string, uuid — Unique identifier for the share link.
    - `token` string — Opaque token appended to the public URL.
    - `type` 'LINK' | 'PLAYER_EMBED' | 'ORB_EMBED' — Kind of share link — a direct URL, a player embed, or an orb embed.
    - `expiresAt` string, date-time, nullable — Timestamp after which the link no longer works, or `null` if the link does not expire.
    - `usageLimit` integer, nullable — Maximum number of times the link can be used, or `null` for unlimited.
    - `usageCount` integer — Number of times the link has been used.
    - `allowedOrigins` string[] — Origins permitted to load the link when embedded. Ignored when `allowAllOrigins` is true.
    - `allowAllOrigins` boolean — Whether the link can be embedded on any origin.
    - `removeWatermark` boolean — Whether the persona renders without the Anam watermark. Requires a plan that permits watermark removal.
    - `enabled` boolean — Whether the link currently accepts connections.
    - `isPrimary` boolean — Whether this is the persona's primary share link (at most one per persona).
    - `createdAt` string, date-time — Timestamp when the share link was created.
  - `primaryShareLink` object, nullable — The primary share link attached to the persona, if one has been created.
    - `token` string
    - `enabled` boolean
  - `enableAudioPassthrough` boolean — Whether audio is passed through from the client instead of being generated server-side.
  - `skipGreeting` boolean — Whether the persona skips the greeting message at the start of a session.
  - `zeroDataRetention` boolean — Whether session data is discarded instead of stored after the conversation ends.
  - `voiceDetectionOptions` VoiceDetectionOptions — Options for voice activity detection during user speech input.
    - `endOfSpeechSensitivity` number — Sensitivity for detecting end of speech, between 0 (least sensitive) and 1 (most sensitive).
    - `silenceBeforeSkipTurnSeconds` number — Duration of silence (in seconds) before the current user turn is skipped.
    - `silenceBeforeSessionEndSeconds` number — Duration of silence (in seconds) before the session is automatically ended.
    - `silenceBeforeAutoEndTurnSeconds` number — Duration of silence (in seconds) before the user turn is automatically ended.
    - `speechEnhancementLevel` number — Level of speech enhancement to apply, 0 (no speech enhancement) 1 (max speech enhancement)
  - `voiceGenerationOptions` union — Provider-specific voice generation tuning.
    - ElevenLabsV1VoiceGenerationOptions — Voice generation options for ElevenLabs V1 models.
      - `stability` number — Controls how stable the generated voice is between each generation, between 0 (more varied/higher emotional range) and 1 (more stable/less emotional range).
      - `similarityBoost` number — Controls how close the generated voice is to the original speaker, between 0 (more varied) and 1 (more similar).
      - `speed` number — Controls the speed of the spoken voice as a multiplier, between 0.7 (slower) and 1.2 (faster).
    - ElevenLabsV2VoiceGenerationOptions — Voice generation options for ElevenLabs V2 models.
      - `stability` number — Controls how stable the generated voice is between each generation, between 0 (more varied/higher emotional range) and 1 (more stable/less emotional range).
      - `similarityBoost` number — Controls how close the generated voice is to the original speaker, between 0 (more varied) and 1 (more similar).
      - `style` number — Amplifies the style of the original speaker, between 0 and 1, it is recommended to keep this value low (0) to reduce latency.
      - `useSpeakerBoost` boolean — Whether to use speaker boost for the generated voice, enhancing the similarity to the original speaker.
      - `speed` number — Controls the speed of the spoken voice as a multiplier, between 0.7 (slower) and 1.2 (faster).
      - `model` string — The ElevenLabs model ID to use for voice generation.
    - CartesiaSonic3VoiceGenerationOptions — Voice generation options for Cartesia Sonic-3 models.
      - `volume` number — Controls the volume level of the generated voice as a multiplier, between 0.5 (quieter) and 2.0 (louder).
      - `speed` number — Controls the speed of the spoken voice as a multiplier, between 0.6 (slower) and 1.5 (faster).
      - `emotion` 'neutral' | 'calm' | 'angry' | 'content' | 'sad' | 'scared' — Sets the emotional tone of the generated voice. Supported emotions are: neutral, calm, angry, content, sad, scared.
    - FishAudioVoiceGenerationOptions — Voice generation options for Fish Audio models.
      - `volume` number — Controls the volume level of the generated voice as a multiplier, between 0.5 (quieter) and 2.0 (louder).
      - `speed` number — Controls the speed of the spoken voice as a multiplier, between 0.5 (slower) and 2.0 (faster).
  - `widgetConfig` object — Widget rendering overrides (e.g. removing the watermark).
  - `createdAt` string, date-time — Timestamp when the persona was created.
  - `updatedAt` string, date-time — Timestamp when the persona was last updated.

## Other responses

- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - API key lacks the required permission
- `404` — Not Found - No personas found
- `500` — Server error

---

[API](https://skmtc.net/anam/apis/anam-ai-api.md) · [All operations](https://skmtc.net/anam/apis/anam-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anam/anam-ai-api/revisions/dae97e8eb063/schema)
