Skip to content

Mods — Search, Get, Featured, Description #7

@MariusStorhaug

Description

Parent: #4

Delivers functions for searching, retrieving, and exploring mods on CurseForge. Mods are the primary content type — this is the most parameter-rich domain in the API.

Acceptance criteria:

  • Search-CurseForgeMod searches mods with full filter support (gameVersion, sortField, modLoaderType, authorId, slug, categories, etc.)
  • Get-CurseForgeMod retrieves a single mod by ID or a batch by ID list (parameter sets)
  • Get-CurseForgeFeaturedMod retrieves featured, popular, and recently updated mods
  • Get-CurseForgeModDescription retrieves full mod description in HTML format
  • All supporting classes created: CurseForgeMod, CurseForgeModAuthor, CurseForgeModAsset, CurseForgeModLinks
  • Shared enums created: CurseForgeModLoaderType, CurseForgeModSearchSortField, CurseForgeModStatus
  • Type extensions add computed properties where useful
  • Format files provide default table/list views
  • Unit tests cover search parameter combinations and response parsing

Endpoints:

Function Method Path
Search-CurseForgeMod GET /v1/mods/search?gameId={id}
Get-CurseForgeMod GET /v1/mods/{modId}
Get-CurseForgeMod (batch) POST /v1/mods
Get-CurseForgeFeaturedMod POST /v1/mods/featured
Get-CurseForgeModDescription GET /v1/mods/{modId}/description

Search parameters (15+): gameId, classId, categoryId, categoryIds, gameVersion, gameVersions, searchFilter, sortField, sortOrder, modLoaderType, modLoaderTypes, gameVersionTypeId, authorId, primaryAuthorId, slug, index, pageSize.

Enums (first consumer):

  • CurseForgeModLoaderType: Any, Forge, Cauldron, LiteLoader, Fabric, Quilt, NeoForge
  • CurseForgeModSearchSortField: Featured, Popularity, LastUpdated, Name, Author, TotalDownloads, Category, GameVersion, EarlyAccess, FeaturedReleased, ReleasedDate, Rating
  • CurseForgeModStatus: New, ChangesRequired, UnderSoftReview, Approved, Rejected, ChangesMade, Inactive, Abandoned, Deleted, UnderReview

Sub-issues

See linked Tasks below.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions