---
title: "Get Persona"
method: GET
path: "/v1/personas/{id}"
tags: ["Agent Environment", "personas"]
---

# Get Persona

`GET /v1/personas/{id}`

## Request

- The document declares no server URL.
- Auth: none declared
- TypeScript: <https://skmtc.dev/vijilai/apis/vijil-console-api-combined/docs/v1/personas/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Get a single persona by ID.

Requires persona:read permission and team_id query parameter. The user's JWT must be scoped to that team.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `team_id` string, uuid, nullable: Team scope (required); must match a team the user has access to

## Response `200`

Successful Response

- Persona: Domain model for Persona archetype.
  - `id` string, uuid, required
  - `team_id` string, uuid, required
  - `name` string, required
  - `description` string, nullable
  - `role` string, required
  - `role_description` string, nullable
  - `knowledge_level` 'beginner' | 'intermediate' | 'advanced' | 'expert': Knowledge level of the persona.
  - `skill_level` 'novice' | 'competent' | 'proficient' | 'expert': Skill level of the persona.
  - `intent` 'benign' | 'curious' | 'adversarial' | 'malicious': Intent type of the persona.
  - `language` string
  - `access_permissions` union
    - PersonaAccessPermissions: Access permissions for persona - used for test scenario definition. NOTE: This is NOT for actual RBAC enforcement - it defines expected access for generating test cases to verify agent access control.
      - `privilege_level` 'guest' | 'user' | 'power_user' | 'admin' | 'super_admin': Privilege level for persona access control testing.
      - `allowed_agents` string[], nullable
      - `allowed_tools` string[], nullable
      - `restricted_actions` string[], nullable
      - `data_access_scope` 'own' | 'team' | 'organization' | 'global': Data access scope for persona testing.
    - object
  - `is_preset` boolean
  - `preset_category` string, nullable
  - `tags` string[], nullable
  - `icon_filename` string, nullable
  - `created_at` integer, required
  - `updated_at` integer, required
  - `created_by` string, uuid, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/vijilai/apis/vijil-console-api-combined.md) - [All operations](https://skmtc.dev/vijilai/apis/vijil-console-api-combined/llms.txt) - [OpenAPI document](https://skmtc.dev/vijilai/apis/vijil-console-api-combined/revisions/a8b2ee2b2d06?raw)
