---
title: "List Jabbertoon's ready-made cartoon characters and voices"
method: GET
path: "/api/list_characters"
---

# List Jabbertoon's ready-made cartoon characters and voices

`GET /api/list_characters`

## Request

- Base URL: `https://jabbertoon.com`
- URL: `https://jabbertoon.com/api/list_characters`
- Auth: none required

Lists the six ready-made characters (person, kid, dog, cat, bird, monster): legs, views, the colour slots a cast entry's look.colors paints on each (a dog's fur is skin), options, page and links; the voices a line can use; and cartoon_example, a whole talking cartoon to copy. Call it to write a cast: {"dog": {"name": "Biscuit", "look": {"template": "dog", "colors": {"skin": "#8d6e63"}}, "voice": "am_puck"}}.

## Response `200`

What list_characters answers. ok is false when what you sent has problems; they are listed with where, says and fix.

- object
  - `ok` boolean, required
  - `url` string, required: The page that lists every character.
  - `count` integer
  - `characters` object[]
    - `slug` string, required
    - `id` string, nullable: The character pack id (c4c:char:<slug>) when the pack is published, else null.
    - `name` string, required
    - `template` string, required: What a cast entry's look.template says to draw this character.
    - `legs` integer
    - `views` string[]: The views it is drawn in; the first is its own.
    - `colors` unknown[]: The look.colors keys (body, skin, acc), what each paints on this character, and the default colour.
      - unknown
    - `options` unknown[]: The look.options keys this character has, with their values.
      - unknown
    - `url` string, required: The character's page on jabbertoon.com.
    - `links` object: Links that open it: studio (put it in a cartoon) and create (start a new character from it).
  - `voices` object[]: The voices a cast entry's voice or a line's voice can name.
    - `id` string
    - `name` string
  - `cast_entry_example` object: One cast entry that draws the first character: the value under a cast id, as in {"cast": {"A": <this>}}.
  - `cartoon_example` object: A whole talking cartoon file ({cast, program}) to copy: give it to validate as cartoon.
  - `engine` Engine
    - `version` string: The block language's version.
    - `git` string: The git tree id of the engine that answered (the same on every door).
  - `notes` string[]
  - `error` Problem
    - `code` string, required
    - `where` string, nullable, required
    - `says` string, required
    - `fix` string, nullable, required
    - `url` string: The code's entry on https://jabbertoon.com/docs/errors/.
    - `did_you_mean` string[]
    - `patch` object[]: RFC 6902 operations on what you sent that make the fix, given only when the fix is certain.

## Other responses

- `4XX`: A request the server cannot use (400 bad_arguments, 404 not_found, 405, 413 too_large, 415, 503 busy or timeout: try again after Retry-After).
- `5XX`: A request the server cannot use (400 bad_arguments, 404 not_found, 405, 413 too_large, 415, 503 busy or timeout: try again after Retry-After).

---

[API](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers.md) · [All operations](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers/llms.txt) · [OpenAPI document](https://skmtc.dev/jabbertoon/apis/jabbertoon-tools-for-ai-assistants-and-developers/revisions/004970e97459?raw)
