Classes
Playable character classes (Fighter, Barbarian, Wizard, ...). Time-travel with ?at_patch= + ?branch= (see Patches).
Endpoints
GET /v2/classes list
GET /v2/classes/{id} single class
GET /v2/classes/{id}/icon → 302 redirect to the asset endpoint
Query parameters
| Name | Mode | Description |
|---|---|---|
id | exact | id.player_character.<slug> or raw Id_PlayerCharacter_<Name> |
name | substring | matches the display name |
can_use | bool | only currently-playable classes |
is_default | bool | only default-roster classes |
at_patch | version | render this entity at the named patch's version |
branch | string | branch (default main) |
page, limit | pagination | default 25, max 250 |
Example
curl 'https://api.darkerdb.com/v2/classes/id.player_character.barbarian'
{
"body": {
"id": "id.player_character.barbarian",
"name": "Barbarian",
"patch_version": "build-22811648-hotfix-113",
"source_key": "Id_PlayerCharacter_Barbarian",
"art_data": "Barbarian",
"class_info": "Barbarian_ClassInfo",
"sound_data": "Barbarian_Sound",
"flavor_text": "Text_DesignData_PlayerCharacter_PlayerCharacter_FlavorText_Barbarian",
"can_use": true,
"is_default": true,
"character_types": [ "Type.Character.Human.Barbarian" ],
"abilities": [ "id.player_character_ability.crouch", "..." ],
"perks": [ "id.perk.robust", "id.perk.crush", "id.perk.berserker", "id.perk.iron_will" ],
"emotes": [ "id.emote.surrender", "id.emote.pointing", "id.emote.cut_throat" ],
"default_hands": [ "EDCEquipmentSlotIndex::Weapon_L1" ]
}
}
abilities, perks, and emotes are envelope-id arrays referencing other catalog rows. effects and class_info/sound_data/art_data are upstream string keys — no canonical type is registered for them yet, so they're passed through unwrapped.