Register your game on mod.io and obtain a game ID and API key; also generate an OAuth2 token for user-authenticated operations via the mod.io developer dashboard.
Create a mod entry first via POST https://api.mod.io/v1/games/<GAME_ID>/mods with form-data fields including name, summary, and logo (image file) — authenticate with Authorization: Bearer <OAUTH_TOKEN>.
The response contains the new mod's id; upload the mod archive with POST /games/<GAME_ID>/mods/<MOD_ID>/files using multipart/form-data with the filedata field containing the zip or archive and a version string.
To subscribe a user to a mod (used for tracking and auto-updates), POST /games/<GAME_ID>/mods/<MOD_ID>/subscribe with the user's OAuth token — no body required.
List a user's subscribed mods with GET /me/subscribed?game_id=<GAME_ID> to retrieve all mods the authenticated user has subscribed to for your game.
Implement the mod.io SDK or use the REST API in your game client to check for mod updates: compare the stored modfile id against the latest modfile returned for subscribed mods and download if changed.
Known gotchas
API key authentication allows read-only public data access; any operation on behalf of a user (subscribe, rate, upload) requires an OAuth2 access token obtained via the Authorization Code or Device Flow — they are not interchangeable.
Mod files must be in a supported archive format and below the size limit configured for your game in the mod.io dashboard; uploads that exceed the limit fail without a descriptive error unless you inspect the response body.
mod.io enforces rate limits per API key and per user token separately; automated upload scripts that loop rapidly (e.g., uploading many mods in a migration) should add delays and handle 429 responses.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp