---
title: "Avatar list view used by the /avatars page."
method: GET
path: "/api/v1/avatars"
tags: ["Avatars"]
---

# Avatar list view used by the /avatars page.

`GET /api/v1/avatars`

## Request

- Base URL: `https://api.avatarfactory.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.avatarfactory.io/api/v1/avatars`
- Auth: one of:
  - API key in cookie `session`
  - HTTP bearer

<br/>Two views (Lior, 2026-05-30):<br/><br/>- ``view="me"`` (default): caller's own avatars via ``scope_query``,<br/>  with template rows (``is_template=1``) excluded so they never<br/>  pollute a user's library.<br/>- ``view="templates"``: admin-only. Bypasses ownership scoping and<br/>  returns the global template avatars (``is_template=1``,<br/>  ``owner_id IS NULL``). Non-admins get 403.

## Query parameters

- `archived` integer
- `category_id` integer, nullable
- `sort` string
- `q` string, nullable
- `view` string

## Response `200`

OK

- AvatarListResponse
  - `archived_count` integer
  - `cat_counts` object
  - `categories` CategoryRow[]
    - `color` string, nullable
    - `id` integer, required
    - `name` string, required
  - `items` AvatarListItem[], required
    - `archived` integer
    - `category` CategoryRow
      - `color` string, nullable
      - `id` integer, required
      - `name` string, required
    - `category_id` integer, nullable
    - `created_at` string, date-time, nullable
    - `default_engine` string, nullable
    - `description` string, nullable
    - `display_order` integer
    - `face_focus` FaceFocusPoint: Where a square or circular crop of a face image has to look. Percentages of the FULL stored frame, so the SPA can hand them straight to a CSS ``object-position``. Written by ``app.modules.avatars.face_focus``; absent (``None``) when no face was detected, and the shared `AvatarFace` component then falls back to its upper-third default.
      - `x` number, required
      - `y` number, required
    - `face_image` string, nullable
    - `heygen_avatar_id` string, nullable
    - `heygen_sync_status` string, nullable
    - `id` integer, required
    - `image_count` integer
    - `name` string, required
    - `scene_count` integer
    - `story` string, nullable
    - `video_count` integer
    - `voice_id` string, nullable

## Other responses

- `403`: Forbidden
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/avatarfactory/apis/avatarfactory-api.md) · [All operations](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/avatarfactory/apis/avatarfactory-api/revisions/66fc7aa3f296?raw)
