chars
List the characters on this account, with the slots and classes available to it.
The first call to make after a login settles: almost everything else needs a `characterId` from here, handed to `enter`. The roster is read in pages and returned whole, so there is nothing to paginate.
Request
POST /api/v1/sessions/{accountKey}/actions/chars
Takes no arguments.
Response
`{ characters, slots, classes, rules, activeCharacterId }`.
| Field | Type | Meaning |
|---|---|---|
characters[].characterId | string | What `enter` and `deleteCharacter` take. |
characters[].name | string | The display name, flattened out of `nickName`. |
characters[].class | string | The short class name; `characterClass` carries the fully-qualified id. |
characters[].createdAt | integer | Unix milliseconds. |
slots.free | integer | How many more characters this account may create. |
rules | object | The naming rules `createCharacter` enforces, including a `pattern` a form can apply directly. |
activeCharacterId | string | The character currently in the lobby; empty when none is. |
Example response
{
"characters": [
{
"characterId": "630211546215118851",
"nickName": { "originalNickName": "Grimsby", "fame": 12, "karmaRating": 0 },
"name": "Grimsby",
"characterClass": "DesignDataPlayerCharacter:Id_PlayerCharacter_Fighter",
"class": "Fighter",
"gender": 1,
"level": 20,
"createdAt": 1748649600000,
"lastLogin": 1755734400000,
"isLock": false,
"orderIndex": 0,
"equipCount": 9
}
],
"slots": { "used": 1, "total": 1, "available": 8, "free": 7, "slots": [], "wipeRemainMs": 0 },
"classes": [
{ "classId": "DesignDataPlayerCharacter:Id_PlayerCharacter_Fighter",
"name": "Fighter", "isOwned": true, "shopId": "" },
{ "classId": "DesignDataPlayerCharacter:Id_PlayerCharacter_Wizard",
"name": "Wizard", "isOwned": false, "shopId": "Id_Shop_Wizard" }
],
"rules": { "min": 2, "max": 20, "allowed": "letters and digits", "pattern": "^[A-Za-z0-9]+$" },
"activeCharacterId": "630211546215118851"
}
Errors
| Code | When |
|---|---|
action_failed | The character list timed out; retry. |
See also
DarkerAPI is an independent project. It is not affiliated with, endorsed by or associated with IRONMACE Co., Ltd. or Valve Corporation. “Dark and Darker” and related marks belong to their respective owners.