Skip to main content

Mods

Installed mod management and Nexus-powered discovery.

ModsController​

  • Route prefix: api/mods
  • Auth: All endpoints require admin role.
MethodPathDescriptionRequestResponse
GET/List installed modsModInfo[]
POST/uploadUpload a mod ZIP (supports mod packs)Multipart form (file)ModUploadResult
DELETE/{modName}Delete by folder namestring
POST/{modName}/toggleToggle enabled/disabledstring

ModDiscoveryController​

  • Route prefix: api/mods/discover
  • Auth: All endpoints require admin role.
MethodPathDescriptionRequestResponse
GET/searchSearch Nexus for mods (paginated, sortable)?q&sort&offset&countSearchResult
GET/settingsNexus discovery settings{ hasApiKey, apiKey (masked), cacheDurationMinutes }
PUT/settingsUpdate Nexus settings{ apiKey, cacheDurationMinutes }string
POST/validate-keyValidate a Nexus API key{ apiKey }ValidationResult
POST/clear-cacheClear the mod search cachestring

Notes​

  • Upload supports mod packs: a ZIP that expands to multiple Mods/<ModName>/ directories is unpacked in one go.
  • Toggle renames a mod folder in place (prefix or suffix), which is what makes the game skip it on next launch.
  • The Nexus API key is optional; most search use cases work without one, but rate limits and full metadata may require it.