LegendsOfDota namespace) that exposes a small REST API used by the in-game Lua code for persistent storage: skill builds, user settings, voting, and favorites.
Base URL
The base URL is configured at deployment time. All routes are relative to the root path/.
Authentication
Most endpoints require a shared-secret header:LodAuthKey is set in appsettings.json on the server. The default value in the repository is:
{"success":false,"error":"unauthorized"} for skill build endpoints).
Content Type
AllPOST requests send data as application/x-www-form-urlencoded with a data field that contains a JSON string.
Endpoints
| Method | Path | Auth Required | Description |
|---|---|---|---|
POST | /saveOptions | Yes | Save or update a player’s settings blob. |
POST | /loadOptions | Yes | Load a player’s settings blob by Steam ID. |
POST | /createSkillBuild | Yes | Persist a new skill build to the database. |
POST | /removeSkillBuild | Yes | Delete a skill build and its associated favorites. |
GET | /getSkillBuilds | No | Paginated list of all skill builds with vote tallies. |
POST | /setFavoriteSkillBuild | Yes | Add or remove a skill build from a player’s favorites. |
POST | /voteSkillBuild | Yes | Cast an upvote or downvote on a skill build. |
GET | /getFavoriteSkillBuilds | No | List all favorited skill build IDs for a player. |
Sub-pages
Skill Builds API
Full reference for creating, retrieving, voting on, and favoriting skill builds.
User Settings API
Save and load per-player settings blobs keyed by Steam ID.

