-
Notifications
You must be signed in to change notification settings - Fork 0
API Reference
Complete reference for all ObjectStore endpoints.
Base URL: https://molochdagod.github.io/ObjectStore
All endpoints return JSON. No authentication required. CORS enabled.
These are served directly from GitHub Pages as static JSON files.
| Endpoint | Description |
|---|---|
GET /api/v1/weapons.json |
All weapons (17 categories × 6 items × 8 tiers = 816) |
GET /api/v1/armor.json |
Armor sets (11 slots × 4 types) |
GET /api/v1/materials.json |
Crafting materials (98 items: ore, wood, cloth, leather, gems, essence) |
GET /api/v1/consumables.json |
Potions, food, engineer items (132 items) |
GET /api/v1/skills.json |
Weapon skill trees (47 skills) |
GET /api/v1/weaponSkills.json |
Extended weapon skill data with detailed trees |
| Endpoint | Description |
|---|---|
GET /api/v1/races.json |
6 playable races with bonuses, lore, faction affiliations |
GET /api/v1/classes.json |
4 classes with abilities, weapon/armor restrictions, signature moves |
GET /api/v1/factions.json |
3 factions (Crusade, Legion, Fabled) with race mappings |
GET /api/v1/attributes.json |
8 attributes (STR, INT, VIT, DEX, END, WIS, AGI, TAC) with stat formulas |
GET /api/v1/professions.json |
5 harvesting professions with advancement trees |
| Endpoint | Description |
|---|---|
GET /api/v1/bosses.json |
Boss encounter definitions |
GET /api/v1/enemies.json |
Enemy NPC data |
GET /api/v1/factionUnits.json |
Faction-specific AI unit data |
GET /api/v1/abilityEffects.json |
Ability and combat effects |
| Endpoint | Description |
|---|---|
GET /api/v1/sprites.json |
Sprite icon catalog (4,000+ entries) |
GET /api/v1/spriteMaps.json |
Sprite sheet mappings |
GET /api/v1/effectSprites.json |
VFX and effect sprite data |
GET /api/v1/animations.json |
Animation definitions |
GET /api/v1/asset-registry.json |
Full asset registry with UUIDs |
| Endpoint | Description |
|---|---|
GET /api/v1/rendering.json |
Rendering configuration |
GET /api/v1/terrain.json |
Terrain definitions |
GET /api/v1/tileMaps.json |
Tile map data |
GET /api/v1/controllers.json |
Controller input mappings |
GET /api/v1/ecs.json |
Entity-Component-System definitions |
GET /api/v1/nodeUpgrades.json |
Node upgrade paths |
| Endpoint | Description |
|---|---|
GET /api/v1/ai.json |
AI agent configuration |
{
"version": "1.0.0",
"total": 816,
"tiers": 8,
"categories": {
"swords": {
"iconBase": "Sword",
"iconMax": 40,
"items": [
{
"id": "bloodfeud-blade",
"name": "Bloodfeud Blade",
"primaryStat": "damage",
"secondaryStat": "lifesteal",
"emoji": "⚔️",
"grudgeType": "item"
}
]
},
"axes": { ... },
"hammers": { ... },
"daggers": { ... },
"spears": { ... },
"bows": { ... },
"crossbows": { ... },
"guns": { ... },
"staffs": { ... },
"wands": { ... },
"maces": { ... },
"shields": { ... },
"tomes": { ... },
"2h-swords": { ... },
"2h-axes": { ... },
"2h-hammers": { ... },
"off-hand-relics": { ... }
}
}17 weapon categories: swords, axes, hammers, daggers, spears, bows, crossbows, guns, staffs, wands, maces, shields, tomes, 2h-swords, 2h-axes, 2h-hammers, off-hand-relics.
Each weapon has 6 named items. Each item exists in 8 tiers (T1–T8). Total: 17 × 6 × 8 = 816 weapons.
{
"categories": {
"ore": {
"items": [
{
"id": "copper-ore",
"name": "Copper Ore",
"tier": 1,
"gatheredBy": "Mining",
"emoji": "🪨"
}
]
},
"wood": { ... },
"cloth": { ... },
"leather": { ... },
"gems": { ... },
"essence": { ... }
}
}6 material categories: ore, wood, cloth, leather, gems, essence.
{
"races": [
{
"id": "human",
"name": "Human",
"faction": "Crusade",
"bonuses": { ... },
"lore": "..."
}
]
}6 races: Human, Orc, Elf, Undead, Barbarian, Dwarf.
{
"classes": [
{
"id": "warrior",
"name": "Warrior",
"abilities": [ ... ],
"weaponTypes": ["shields", "swords", "2h-swords", "2h-axes", "2h-hammers"],
"armorTypes": ["metal"],
"signatureMove": "..."
}
]
}4 classes: Warrior, Mage Priest, Worge, Ranger.
3 factions: Crusade, Legion, Fabled — each with aligned races.
8 attributes: STR (Strength), INT (Intelligence), VIT (Vitality), DEX (Dexterity), END (Endurance), WIS (Wisdom), AGI (Agility), TAC (Tactics).
When running the local ObjectStore server (node server.js on port 3000):
Returns a summary of all asset categories and counts.
{
"totalCategories": 12,
"totalAssets": 4200,
"categories": {
"weapons_full": { "count": 680 },
"armor": { "count": 320 },
"resources": { "count": 150 }
}
}Search assets by name, filename, or category.
Parameters:
| Param | Type | Required | Description |
|---|---|---|---|
q |
string | No* | Search query (name/filename match) |
category |
string | No* | Filter by category |
limit |
number | No | Max results (default 50, max 200) |
*At least one of q or category is required.
GET /api/assets/search?q=sword&category=weapons_full&limit=10
{
"query": "sword",
"category": "weapons_full",
"count": 10,
"results": [
{
"uuid": "SPRT-20260306000000-000001-517F0A6A",
"name": "Sword_01",
"filename": "Sword_01.png",
"category": "weapons_full",
"path": "icons/weapons_full/Sword_01.png",
"url": "https://molochdagod.github.io/ObjectStore/icons/weapons_full/Sword_01.png"
}
]
}Fetch a single asset by its GRUDGE UUID.
GET /api/assets/SPRT-20260306000000-000001-517F0A6A
{
"uuid": "SPRT-20260306000000-000001-517F0A6A",
"name": "Sword_01",
"filename": "Sword_01.png",
"category": "weapons_full",
"path": "icons/weapons_full/Sword_01.png",
"url": "https://molochdagod.github.io/ObjectStore/icons/weapons_full/Sword_01.png",
"width": 128,
"height": 128
}Sprite icons are served statically:
| Type | Pattern | Example |
|---|---|---|
| Weapons | /icons/weapons/{Type}_{##}.png |
/icons/weapons/Sword_01.png |
| Full-res Weapons | /icons/weapons_full/{Type}_{##}.png |
/icons/weapons_full/Sword_01.png |
| Armor | /icons/armor/{Slot}_{##}.png |
/icons/armor/Helm_01.png |
| Resources | /icons/resources/Res_{##}.png |
/icons/resources/Res_01.png |
| Status | Meaning |
|---|---|
200 |
Success |
400 |
Bad request (missing required params) |
404 |
Asset/endpoint not found |
503 |
Asset registry not loaded (server only) |
All error responses follow:
{
"error": "Description of the error"
}All endpoints include these headers:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, OPTIONS
Access-Control-Allow-Headers: Content-Type
Next: SDK Guide — Use the SDK for search, caching, and UUID generation.
Grudge Studio ObjectStore v2.2.0 · Live API · GitHub · grudgewarlords.com · © 2026 Grudge Studio