Public key (read): CEP4xLkvW7L5iyUcdO20unyYJ98mu2
Submit key (insert-only, ships in the game client): v7zUvu1Vbw1OBHJU5Kk1hGWzPaieC4lI
Private key (admin, keep secret): HAazzU9NX7vYJDhvV7dIqH3U9XE1TRY8IGO
Submit a run (POST), header X-Submit-Key: v7zUvu1Vbw1OBHJU5Kk1hGWzPaieC4lI, fields: name, patch, difficulty, level, score, json_info
/api/submit
Score a run + record the fight (POST), same header, fields: score, defender_id, attacker_won
/api/submit/{id}/score
Top 20 of a patch + difficulty (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/top/20?patch=0.1&difficulty=normal
One run with its build (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/run/1
Several runs, no builds (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/runs/1,2,3
Patches with runs on them (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/patches?difficulty=normal
Arena roster -- opponents for a level, hidden runs included (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/closest/10/20?patch=0.1&difficulty=normal
Top 100 by score, every patch (GET)
/api/CEP4xLkvW7L5iyUcdO20unyYJ98mu2/json
All difficulties | normal | hard
HIDDEN keeps a run off the board, out of the patch counts and out of the high-score check, while it stays available as an arena opponent. That is what seeds a fresh board with starting champions.
A hidden run is a RESERVE, not an equal: a roster is filled from the real runs first, and the hidden ones only top up what those left over -- at the end of the list, so they are the last champions fought. Once there are enough real runs near a player's level, hidden ones stop being sent out at all.
| Id | Name | Patch | Difficulty | Level | Score rivals beaten |
Defending W / L |
Ranked | JSON |
|---|
Who met who in the arena. The defense columns above are these rows tallied up.
| When | Attacker | Defender | Winner |
|---|