Docs/Reference/Gear Goblins

Gear Goblins

All Gear Goblins endpoints are under /v1/games/gear-goblins.

Characters

GET /v1/games/gear-goblins/characters

List the caller's characters.

  • Auth: Authenticated

Response200 OK

JSON
{
   "characters": [
      {
         "id": 1184,
         "name": "Gorbo",
         "race_id": "id.race.goblin",
         "class_id": "id.class.warrior",
         "level": 7,
         "zone": "id.zone.iron-mine",
         "guild": null,
         "gear_score": 142,
         "created_at": "2026-04-01T00:00:00+00:00",
         "updated_at": "2026-04-18T12:00:00+00:00"
      }
   ]
}

POST /v1/games/gear-goblins/characters

Create a new character.

  • Auth: Authenticated
  • Rate limit: 10 / 60s

Request

JSON
{
   "name": "Gorbo",
   "raceId": "id.race.goblin",
   "classId": "id.class.warrior"
}
FieldConstraints
name3–24 letters only (^\p{L}+$), globally unique.
raceIdrequired.
classIdrequired. Must be valid for the chosen race.

Response201 Created

JSON
{
   "character": { "…": "as on GET" }
}

Errors

CodeMeaning
400Invalid race, class not available for this race, or character limit reached.
409Character name already taken.

GET /v1/games/gear-goblins/characters/{id}

Get a single character owned by the caller.

  • Auth: Authenticated

Response200 OK

JSON
{
   "character": { "…": "as on list" }
}

Errors

CodeMeaning
404Character not found.

PATCH /v1/games/gear-goblins/characters/{id}

Update a character. Currently only name is mutable.

  • Auth: Authenticated

Request

JSON
{ "name": "Zorbo" }

Response200 OK

JSON
{
   "character": { "…": "updated" }
}

Errors

CodeMeaning
400No fields to update.
404Character not found.
409Name already taken.

DELETE /v1/games/gear-goblins/characters/{id}

Hard-delete a character. Removes all associated equipment, loadouts, progression, currencies, and zone progress. Irreversible.

  • Auth: Authenticated

Response200 OK, empty body.

Errors

CodeMeaning
404Character not found.

POST /v1/games/gear-goblins/characters/check

Check whether a character name is available. Used for live feedback in the character creation form.

  • Auth: Public
  • Rate limit: 30 / 60s

Request

JSON
{ "name": "Gorbo" }

name is 3–24 letters (^\p{L}+$).

Response200 OK

JSON
{
   "name": { "available": false }
}

State

GET /v1/games/gear-goblins/characters/{id}/state

Full game state for a single character in one call: character record plus equipment, spellbook, active loadout, progression, zone progress, and currency.

  • Auth: Authenticated

Response200 OK

JSON
{
   "character": {
      "id": 1184,
      "name": "Gorbo",
      "race_id": "id.race.goblin",
      "class_id": "id.class.warrior",
      "level": 7,
      "zone": "id.zone.iron-mine",
      "guild": null,
      "gear_score": 142
   },
   "equipment": [
      {
         "slot_id": "id.slot.main-hand",
         "item": {
            "id": 482,
            "archetype_id": "id.archetype.rusty-sword",
            "rarity_id": "id.rarity.uncommon",
            "quality_id": "id.quality.fine",
            "ilvl": 8,
            "modifiers": [],
            "sockets": [],
            "enchant_id": null,
            "quantity": 1
         }
      }
   ],
   "spellbook": [
      {
         "spell_id": "id.spell.strike",
         "source": "class",
         "source_id": null,
         "rank": 1
      }
   ],
   "loadout": {
      "id": 14,
      "name": "Melee",
      "icon": null,
      "slots": [
         {
            "zone": "primary",
            "position": 0,
            "spell_id": "id.spell.strike",
            "cast_count": 42,
            "gates": []
         }
      ]
   },
   "progression": {
      "xp": 4200,
      "rested_xp": 0,
      "zone_id": "id.zone.iron-mine",
      "node_id": "id.node.entrance",
      "wave": 3,
      "encounter_seed": "abc123",
      "is_idle": true,
      "idle_since": "2026-04-18T11:00:00+00:00"
   },
   "zone_progress": [
      {
         "zone_id": "id.zone.iron-mine",
         "node_id": "id.node.entrance",
         "status": "cleared",
         "completions": 12,
         "best_time": 187
      }
   ],
   "currency": {
      "id.currency.gold": 2840,
      "id.currency.scrap": 118
   }
}

Errors

CodeMeaning
404Character not found.

News

GET /v1/games/gear-goblins/news

List Gear Goblins news items. Currently a static list of announcements.

  • Auth: Public

Response200 OK

JSON
{
   "news": [
      {
         "id": 3,
         "date": "2026-04-10",
         "title": "Patch 0.4 — Guilds",
         "excerpt": "Guilds arrive with shared vaults and raid bosses…",
         "url": "https://geargoblins.com/news/patch-0-4"
      }
   ]
}