---
title: "Get Avatar Catalog"
method: GET
path: "/v3/avatars/catalog"
tags: ["Avatars v3"]
---

# Get Avatar Catalog

`GET /v3/avatars/catalog`

## Request

- Base URL: `https://api.sidequestvr.com`
- URL: `https://api.sidequestvr.com/v3/avatars/catalog`
- Auth: none declared

Every enabled avatar option, the values each may hold, and the level each unlocks at, plus the rules for the custom avatar slot. This is what a client needs to draw the avatar picker with lock states. Cached for up to a minute.

## Response `200`

Success

- AvatarCatalogModel: Everything a client needs to draw the avatar picker with lock states: every option, every value, and the level each unlocks at
  - `options` AvatarCatalogOptionModel[], required: Enabled options in sort order
    - `option_key` string, required: The key stored on the avatar, e.g. base
    - `name` string, required: Display name
    - `description` string: Longer description
    - `min_level` integer, required: The level at which the option itself unlocks
    - `default_value` string: The value a user holds when they have not chosen one. Absent means the option is simply omitted until chosen.
    - `sort_order` integer, required: Display ordering, ascending
    - `metadata` object: Free-form client rendering hints
    - `is_enabled` boolean: Whether the option is live. Only present on the admin listing; the public catalog only contains enabled options.
    - `values` AvatarCatalogValueModel[], required: The values this option may hold, in sort order
      - `value` string, required: The value stored on the avatar when selected (lowercase slug)
      - `name` string, required: Display name
      - `min_level` integer, required: The level at which this value unlocks
      - `sort_order` integer, required: Display ordering, ascending
      - `metadata` object: Free-form client rendering hints (hex colour, icon URL, pack name)
      - `is_enabled` boolean: Whether the value can currently be selected. Only present on the admin listing; the public catalog only contains enabled values.
  - `custom_avatar` AvatarCatalogCustomModel, required: The rules for the level-50 custom avatar slot
    - `min_level` integer, required: The level at which the custom avatar slot unlocks
    - `allowed_types` string[], required: Accepted file extensions, lowercase
    - `max_bytes` integer, required: Maximum file size in bytes

## Changes

- **2026-10-12** `5f62fe19531f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sidequestvr/apis/sidequest-api/changes/v3/avatars/catalog/get.md)

---

[API](https://skmtc.dev/sidequestvr/apis/sidequest-api.md) - [All operations](https://skmtc.dev/sidequestvr/apis/sidequest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sidequestvr/apis/sidequest-api/revisions/015df326911c?raw)
