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

NameModeDescription
idexactid.player_character.<slug> or raw Id_PlayerCharacter_<Name>
namesubstringmatches the display name
can_useboolonly currently-playable classes
is_defaultboolonly default-roster classes
at_patchversionrender this entity at the named patch's version
branchstringbranch (default main)
page, limitpaginationdefault 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.