# List Personas

- **Method:** `GET`
- **Path:** `/api/v1/personas`
- **Operation ID:** `list_personas`
- **Tags:** personas

The personas a run can name: each by its `id@version` address, which is what a run spec's `personas`
lists, with its name, pack and tags.

## Effective servers

- `https://api.saram.sh`

  Saram

## Authentication

- **HTTPBearer**: HTTP bearer

  a Saram API key (`sk_saram_<env>_...`) or a person's AuthKit access token, as `Authorization: Bearer <credential>`. Both are told apart by shape and produce the same principal.

## Responses

### 200 Successful Response

**Content type:** `application/json`

schema: `PersonaList`, no additional properties

The personas a run can name. `GET /api/v1/personas/{address}` answers one in full.

- **`personas` (required)**: `array`

  **Items:**

  schema: `PersonaSummary`, no additional properties

  One persona a run can name, by its address, with its name, pack and tags.
  - **`address` (required)**: `string`

    `id@version`, what a run spec and a `sessions.persona_id` carry.
  - **`id` (required)**: `string`
  - **`version` (required)**: `integer`
  - **`name`**: `string | null`
  - **`pack`**: `string | null`
  - **`tags`**: `array of string`

**Example:**

```json
{
  "personas": [
    {
      "address": "",
      "id": "",
      "version": 1,
      "name": "",
      "pack": "",
      "tags": [
        ""
      ]
    }
  ]
}
```

### 403 the API key lacks the required scope

## Schemas

- `PersonaList` — shown above.
- `PersonaSummary` — shown above.
