---
title: "List Characters"
method: GET
path: "/v1/characters"
tags: ["characters"]
---

# List Characters

`GET /v1/characters`

## Request

- Base URL: `https://api.myarchivist.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myarchivist.ai/v1/characters`
- Auth: HTTP bearer

List characters in a world with pagination and filtering.

- **world_id**: Required world ID
- **search**: Search by character name
- **character_type**: Filter by type (PC, NPC, etc.)
- **approved_only**: Show only approved characters
- **sort**: 'name' for case-insensitive alphabetical order by character name; omitted keeps newest-first

## Query parameters

- `campaign_id` string, required: Campaign ID to filter characters
- `search` string, nullable: Search characters by name
- `character_type` string, nullable: Filter by character type (PC, NPC, etc.)
- `approved_only` boolean: Show only approved characters
- `with_links` boolean: Return descriptions with [[wikilinks]] intact
- `fields` string, nullable: Use 'card' for lightweight list items
- `sort` string, nullable: Sort order. 'name' sorts case-insensitively by character name at the database level, applied before pagination. Omitted keeps the default (newest first).
- `page` integer
- `size` integer

## Headers

- `x-api-key` string, nullable

## Response `200`

Successful Response

- PaginatedResponse
  - `data` unknown[], required
    - unknown
  - `total` integer, required
  - `page` integer, required
  - `size` integer, required
  - `pages` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/myarchivist/apis/archivist-public-api.md) · [All operations](https://skmtc.dev/myarchivist/apis/archivist-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/myarchivist/apis/archivist-public-api/revisions/3ea6ca7efc56?raw)
