Skip to main content

Catalogs

Read-only access to the static JSON tables shipped inside the binary. External tooling can pull the same data the bot uses to make decisions — block names, recipes, item descriptions, quest definitions, pack rolls, achievement defs.

MethodPathReturns
GET/api/catalog/block_typesblock_types.json{id: "Name"}
GET/api/catalog/block_flagsblock_flags.json — flag bits per block
GET/api/catalog/itemsitem_database.json (alias item_database)
GET/api/catalog/packspack_pool.json (alias pack_pool)
GET/api/catalog/questsquest_definitions.json (alias quest_definitions)
GET/api/catalog/quest_poolquest_pool.json
GET/api/catalog/achievementsachievement_definitions.json (alias achievement_definitions)
curl -s http://localhost:8090/api/catalog/items \
-H 'authorization: Bearer <token>' | jq '.WeaponPickaxeBasic'

Each response is the JSON file verbatim — clients filter / index client-side. The bundles update with each release; pin against a specific binary if you need a stable snapshot.

Common shapes

block_types

{ "0": "Air", "8": "Dirt", "12": "Rock", "1041": "WeaponPickaxeBasic", ... }

items

{
"WeaponPickaxeBasic": {
"name": "WeaponPickaxeBasic",
"blockType": 1041,
"tier": "0",
"hits_required": 1000,
"level_req": null,
"description": "Just a basic pickaxe."
},
...
}

packs

{
"LureBooster": {
"name": "Lure Booster",
"byteCoinsPrice": "100",
"rolls": [...]
},
...
}

Errors

StatusBodyCause
404{"error":"unknown catalog: <name>"}Path didn't match any of the listed names.
500{"error":"parse <file>.json: ..."}Shouldn't happen — bundled JSON is validated at compile time.