> ## Documentation Index
> Fetch the complete documentation index at: https://docs.viggle.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Characters

> List reusable Characters available to the current account.

Returns all Characters owned by the current account or organization. Use the returned `id` in `POST /v1/renders` after the Character is ready.

## Request parameters

`GET /v1/characters` has no path, query, or request-body parameters. Send `Authorization: Bearer YOUR_API_KEY`.

## Response parameters

Returns `200 OK`.

| Field                 | Type            | Required | Description                                   |
| --------------------- | --------------- | :------: | --------------------------------------------- |
| `data`                | array           |    Yes   | Array of Character objects. It can be empty.  |
| `data[].id`           | string          |    Yes   | Public `char_...` ID.                         |
| `data[].status`       | string          |    Yes   | `queued`, `processing`, `ready`, or `failed`. |
| `data[].name`         | string          |    Yes   | Character label.                              |
| `data[].progress`     | integer or null |    Yes   | Progress from 0 to 100 when available.        |
| `data[].capabilities` | array           |    Yes   | Ready Characters include `video_render`.      |
| `data[].created_at`   | string or null  |    Yes   | ISO 8601 creation time when available.        |
| `data[].completed_at` | string or null  |    Yes   | ISO 8601 completion time when available.      |
| `data[].error`        | object or null  |    Yes   | Failure detail when the Character failed.     |

## Examples

<CodeGroup>
  ```go Go theme={null}
  req, _ := http.NewRequest("GET", "https://apis.viggle.ai/v1/characters", nil)
  req.Header.Set("Authorization", "Bearer "+os.Getenv("VIGGLE_API_KEY"))
  resp, err := http.DefaultClient.Do(req)
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://apis.viggle.ai/v1/characters", {headers:{Authorization:`Bearer ${process.env.VIGGLE_API_KEY}`}});
  const result = await response.json();
  ```

  ```python Python theme={null}
  response = requests.get("https://apis.viggle.ai/v1/characters", headers={"Authorization": f"Bearer {os.environ['VIGGLE_API_KEY']}"})
  result = response.json()
  ```

  ```bash cURL theme={null}
  curl "https://apis.viggle.ai/v1/characters" -H "Authorization: Bearer $VIGGLE_API_KEY"
  ```
</CodeGroup>


## OpenAPI

````yaml GET /v1/characters
openapi: 3.0.3
info:
  title: Viggle API
  description: Generate AI-powered character animation videos
  version: 2.0.0
  contact:
    name: Viggle Support
    url: https://viggle.ai
servers:
  - url: https://apis.viggle.ai
    description: Production server
security: []
paths:
  /v1/characters:
    get:
      summary: List Characters
      operationId: v1ListCharacters
      responses:
        '200':
          description: Characters

````