### Get Game Version Example Source: https://docs.modrinth.com/api/operations/versionlist Example of a game version string. This is part of the response for the /tag/game_version endpoint. ```text 1.18.1 ``` -------------------------------- ### Notification Title Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of a notification title. ```string **My Project** has been updated! ``` -------------------------------- ### Version ID Path Parameter Example Source: https://docs.modrinth.com/api/operations/deleteversion Example value for the version ID path parameter. ```json [ "IIJJKKLL" ] ``` -------------------------------- ### Homepage URL Example Source: https://docs.modrinth.com/api/operations/forgeupdates Example of the homepage link returned in the API response. ```text https://modrinth.com ``` -------------------------------- ### Example Loader Name Source: https://docs.modrinth.com/api/operations/loaderlist This is an example of a loader's name. It is returned as a string in the API response. ```text fabric ``` -------------------------------- ### Project ID Response Example Source: https://docs.modrinth.com/api/operations/checkprojectvalidity Example of the project ID returned in a successful 200 response. ```text AABBCCDD ``` -------------------------------- ### Notification Action Route Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of the HTTP method and path for performing an action on a notification. ```json [ "POST", "team/{id}/join" ] ``` -------------------------------- ### User ID or Username Example Source: https://docs.modrinth.com/api/operations/changeusericon Provides examples of valid inputs for the user ID or username path parameter. ```json [ "EEFFGGHH", "my_user" ] ``` -------------------------------- ### Authentication Error Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example response for authentication errors, indicating invalid credentials. ```json { "error": "unauthorized", "description": "Authentication Error: Invalid Authentication Credentials" } ``` -------------------------------- ### Notification Text Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of the body text for a notification. ```string The project, My Project, has released a new version: 1.0.0 ``` -------------------------------- ### Notification Link Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of a link associated with a notification, typically pointing to a project or version. ```string mod/AABBCCDD/version/IIJJKKLL ``` -------------------------------- ### ISO-8601 Time Format Example Source: https://docs.modrinth.com/api/operations/scheduleversion Example of the required ISO-8601 timestamp format for the time parameter. ```text 2023-02-05T19:39:55.551839Z ``` -------------------------------- ### Example Supported Project Types Source: https://docs.modrinth.com/api/operations/loaderlist This is an example of the supported project types for a loader. It is returned as an array of strings in the API response. ```json [ "mod", "modpack" ] ``` -------------------------------- ### User Authentication Providers Example Source: https://docs.modrinth.com/api/operations/getusers Example of the authentication providers list for a user. This field is only visible when requesting your own account. ```json [ "github", "gitlab", "steam", "microsoft", "google", "discord" ] ``` -------------------------------- ### Example Notification ID Source: https://docs.modrinth.com/api/operations/deletenotification This is an example of a notification ID used in the path parameter. ```json [ "NNOOPPQQ" ] ``` -------------------------------- ### Search Query Example Source: https://docs.modrinth.com/api/operations/searchprojects Use the 'query' parameter to specify the search term for projects. ```text gravestones ``` -------------------------------- ### Notification Action Title Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of the friendly name for an action that can be performed on a notification. ```string Accept ``` -------------------------------- ### Notification ID Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of a notification ID returned in the API response. ```string UUVVWWXX ``` -------------------------------- ### Notification Type Example Source: https://docs.modrinth.com/api/operations/getusernotifications Example of a notification type. Allowed values include 'project_update', 'team_invite', 'status_change', and 'moderator_message'. ```string project_update ``` -------------------------------- ### GET /search Source: https://docs.modrinth.com/api/operations/searchprojects Retrieves a list of projects matching the search criteria. ```APIDOC ## GET /search ### Description Returns a paginated list of projects matching the search query. ### Method GET ### Endpoint /search ### Response #### Success Response (200) - **hits** (Array) - The list of results - **offset** (integer) - The number of results that were skipped - **limit** (integer) - The number of results returned - **total_hits** (integer) - The total number of matching results #### Response Example { "hits": [ { "slug": "my_project", "title": "My Project", "description": "A short description", "categories": ["technology", "adventure", "fabric"], "client_side": "required", "server_side": "optional", "project_type": "mod", "downloads": 1000, "project_id": "AABBCCDD", "author": "my_user", "versions": ["1.8", "1.8.9"], "follows": 50, "license": "MIT" } ], "offset": 0, "limit": 10, "total_hits": 10 } #### Error Response (400) - **error** (string) - The name of the error - **description** (string) - The contents of the error ``` -------------------------------- ### GET /project Source: https://docs.modrinth.com/api/operations/getuserprojects Retrieves the detailed object structure for a project on Modrinth. ```APIDOC ## GET /project ### Description Returns the full project object containing metadata, categories, support status, and associated URLs. ### Method GET ### Response #### Success Response (200) - **id** (string) - The ID of the project, encoded as a base62 string. - **slug** (string) - The slug of a project, used for vanity URLs. - **title** (string) - The title or name of the project. - **description** (string) - A short description of the project. - **body** (string) - A long form description of the project. - **categories** (Array) - A list of the categories that the project has. - **client_side** (string) - The client side support of the project (required, optional, unsupported, unknown). - **server_side** (string) - The server side support of the project (required, optional, unsupported, unknown). - **project_type** (string) - The project type (mod, modpack, resourcepack, shader). - **downloads** (integer) - The total number of downloads of the project. - **team** (string) - The ID of the team that has ownership of this project. - **published** (string) - The date the project was published (ISO-8601). - **updated** (string) - The date the project was last updated (ISO-8601). - **followers** (integer) - The total number of users following the project. - **license** (object) - The license of the project (id, name, url). #### Response Example { "id": "AABBCCDD", "slug": "my_project", "title": "My Project", "description": "A short description", "categories": ["technology", "adventure", "fabric"], "client_side": "required", "server_side": "optional", "project_type": "mod", "downloads": 1000, "team": "MMNNOOPP", "published": "2023-01-01T00:00:00Z", "updated": "2023-01-02T00:00:00Z", "followers": 50 } ``` -------------------------------- ### User ID Example in Response Source: https://docs.modrinth.com/api/operations/getusernotifications Example of a user ID associated with a notification in the API response. ```string EEFFGGHH ``` -------------------------------- ### Get Project Source: https://docs.modrinth.com/api/operations/getproject Retrieves a project by its ID or slug. ```APIDOC ## GET /project/{id|slug} ### Description Retrieves a project by its ID or slug. ### Method GET ### Endpoint /project/{id|slug} ### Parameters #### Path Parameters - **id|slug** (string) - Required - The ID or slug of the project. ### Responses #### Success Response (200) - **project** (object) - Description of the project object (details not provided in source). #### Response Example (Response example not provided in source) ``` -------------------------------- ### Project ID or Slug Format Source: https://docs.modrinth.com/api/operations/deleteproject Examples of valid project identifiers for the path parameter. ```json [ "AABBCCDD", "my_project" ] ``` -------------------------------- ### GET /project Source: https://docs.modrinth.com/api/operations/createproject Retrieves the detailed object structure for a Modrinth project. ```APIDOC ## GET /project ### Description Returns the full project object containing metadata, categories, support status, and associated URLs. ### Method GET ### Response #### Success Response (200) - **slug** (string) - The slug of a project. - **title** (string) - The title or name of the project. - **description** (string) - A short description of the project. - **categories** (Array) - A list of the categories that the project has. - **client_side** (string) - The client side support of the project (required, optional, unsupported, unknown). - **server_side** (string) - The server side support of the project (required, optional, unsupported, unknown). - **body** (string) - A long form description of the project. - **status** (string) - The status of the project. - **requested_status** (string) - The requested status when submitting for review. - **additional_categories** (Array) - A list of categories which are searchable but non-primary. - **issues_url** (string) - Optional link to submit bugs. - **source_url** (string) - Optional link to the source code. - **wiki_url** (string) - Optional link to the project wiki. - **discord_url** (string) - Optional invite link to the project discord. - **donation_urls** (Array) - A list of donation links. - **project_type** (string) - The project type (mod, modpack, resourcepack, shader). - **downloads** (integer) - The total number of downloads. - **icon_url** (string) - The URL of the project icon. - **color** (integer) - The RGB color of the project. - **thread_id** (string) - The ID of the moderation thread. - **monetization_status** (string) - Monetization status. - **id** (string) - The ID of the project (base62). - **team** (string) - The ID of the team that owns the project. - **published** (string) - The date the project was published (ISO-8601). - **updated** (string) - The date the project was last updated (ISO-8601). - **followers** (integer) - The total number of users following the project. - **license** (object) - The license of the project. ``` -------------------------------- ### User Payout Data Example Source: https://docs.modrinth.com/api/operations/getusers Example of the payout data structure within a user object. This information is only visible for the requesting user's own account. ```json { "balance": "10.11223344556678", "payout_wallet": "paypal", "payout_wallet_type": "email", "payout_address": "support@modrinth.com" } ``` -------------------------------- ### NeoForge Query Parameter Value Source: https://docs.modrinth.com/api/operations/forgeupdates Example value for the neoforge query parameter. ```text include ``` -------------------------------- ### GET /tag/license - Get a list of licenses (Deprecated) Source: https://docs.modrinth.com/api/operations/licenselist This endpoint retrieves a list of available licenses. It is deprecated and users should utilize SPDX IDs for license identification. ```APIDOC ## GET /tag/license ### Description Retrieves a list of licenses. This endpoint is deprecated; use SPDX IDs instead. ### Method GET ### Endpoint /tag/license ### Parameters None ### Request Example None ### Response #### Success Response (200) - **short** (string) - The short identifier of the license. - **name** (string) - The full name of the license. #### Response Example ```json [ { "short": "lgpl-3", "name": "GNU Lesser General Public License v3" } ] ``` ``` -------------------------------- ### GET /websites/modrinth_api/game_versions Source: https://docs.modrinth.com/api/operations/getproject Retrieves a list of all game versions supported by the project. ```APIDOC ## GET /websites/modrinth_api/game_versions ### Description A list of all of the game versions supported by the project. ### Method GET ### Endpoint /websites/modrinth_api/game_versions ### Response #### Success Response (200) - **game_versions** (Array) - A list of supported game versions. #### Response Example ```json [ "1.19", "1.19.1", "1.19.2", "1.19.3" ] ``` ``` -------------------------------- ### GET /projects Source: https://docs.modrinth.com/api/operations/getprojects Retrieves a list of projects based on the provided IDs or slugs. ```APIDOC ## GET /projects ### Description Retrieves multiple projects by their IDs or slugs. ### Method GET ### Endpoint /projects ### Parameters #### Query Parameters - **ids** (string) - Required - The IDs and/or slugs of the projects (e.g., ["AABBCCDD", "EEFFGGHH"]) ### Responses - Success Response (200) ``` -------------------------------- ### Invalid Input Error Example Source: https://docs.modrinth.com/api/operations/changeusericon Illustrates the structure of an error response when invalid input is provided. ```json { "error": "invalid_input", "description": "Error while parsing multipart payload" } ``` -------------------------------- ### Search Offset Example Source: https://docs.modrinth.com/api/operations/searchprojects Use the 'offset' parameter to skip a specified number of results from the beginning of the search. ```text 20 ``` -------------------------------- ### Test Modrinth API Endpoint Source: https://docs.modrinth.com/api Make a GET request to the staging API to verify your client setup. This response indicates a successful connection. ```json { "about": "Welcome traveler!", "documentation": "https://docs.modrinth.com", "name": "modrinth-labrinth", "version": "2.7.0" } ``` -------------------------------- ### POST /project Source: https://docs.modrinth.com/api/operations/createproject Endpoint to create a new project on the Modrinth platform. ```APIDOC ## POST /project ### Description Creates a new project on the Modrinth platform. ### Method POST ### Endpoint /project ### Authorizations - **TokenAuth**: Requires the PROJECT_CREATE permission. ``` -------------------------------- ### POST /project/create Source: https://docs.modrinth.com/api/operations/createproject Endpoint for creating a new project on Modrinth, including draft status and gallery configuration. ```APIDOC ## POST /project/create ### Description Creates a new project. Note that the draft status is deprecated and should be set to true. ### Parameters #### Request Body - **draft** (boolean) - Required - Whether the project should be saved as a draft. Deprecated - please always mark this as true. - **gallery_items** (Array) - Optional - Gallery images to be uploaded. Deprecated - please upload gallery images after initial upload. - **item** (string) - Required - The name of the multipart item where the gallery media is located. - **featured** (boolean) - Optional - Whether the image is featured in the gallery. - **title** (string) - Optional - The title of the gallery image. - **description** (string) - Optional - The description of the gallery image. - **ordering** (integer) - Optional - The order of the gallery image. - **icon** (string) - Optional - Project icon file (binary format: *.png, *.jpg, *.jpeg, *.bmp, *.gif, *.webp, *.svg, *.svgz, *.rgb). ``` -------------------------------- ### Version Metadata Example Source: https://docs.modrinth.com/api/operations/createversion This JSON object represents the metadata for a new version, including its name, version number, changelog, dependencies, game versions, loaders, and status. ```json { "name": "Version 1.0.0", "version_number": "1.0.0", "changelog": "List of changes in this version: ...", "dependencies": [ { "version_id": "IIJJKKLL", "project_id": "QQRRSSTT", "file_name": "sodium-fabric-mc1.19-0.4.2+build.16.jar", "dependency_type": "required" } ], "game_versions": [ "1.16.5", "1.17.1" ], "version_type": "release", "loaders": [ "fabric", "forge", "minecraft" ], "featured": true, "status": "listed", "requested_status": null, "project_id": "AABBCCDD", "file_parts": [ "my_file_part_name" ], "primary_file": "my_file_part_name", "environment": "client_and_server", "file_types": { "required-resource-pack": "optional-resource-pack" } } ``` -------------------------------- ### Create Version Source: https://docs.modrinth.com/api/operations/createversion This route creates a version on an existing project. It requires a multipart request with a JSON data payload and at least one file. ```APIDOC ## POST /version ### Description Creates a new version for an existing project. Requires at least one file attachment unless the version status is 'draft'. Accepted file types include .mrpack, .jar, and .zip. ### Method POST ### Endpoint /version ### Parameters #### Request Body This endpoint uses a `multipart/form-data` request. It must contain: - **data** (object) - Required. A JSON object containing version metadata. - **name** (string) - Required. The name of the version (e.g., "Version 1.0.0"). - **version_number** (string) - Required. The version number (e.g., "1.0.0"). - **changelog** (string) - Optional. The changelog for this version. - **dependencies** (Array) - Optional. A list of project version dependencies. - **version_id** (string) - Optional. The ID of the depended-upon version. - **project_id** (string) - Optional. The ID of the depended-upon project. - **file_name** (string) - Optional. The filename of the dependency. - **dependency_type** (string) - Required. Type of dependency (e.g., `required`, `optional`, `incompatible`, `embedded`). - **game_versions** (Array) - Required. A list of supported Minecraft versions (e.g., ["1.16.5", "1.17.1"]). - **version_type** (string) - Optional. The release channel (e.g., `release`, `beta`, `alpha`). - **loaders** (Array) - Required. A list of supported mod loaders (e.g., ["fabric", "forge", "minecraft"]). - **featured** (boolean) - Optional. Whether the version is featured. - **status** (string) - Optional. The status of the version (e.g., `listed`, `archived`, `draft`, `unlisted`, `scheduled`, `unknown`). - **requested_status** (string) - Optional. The requested status for the version (e.g., `listed`, `archived`, `draft`, `unlisted`). - **project_id** (string) - Required. The ID of the project this version belongs to. - **file_parts** (Array) - Required. An array of multipart field names for each uploaded file. - **primary_file** (string) - Optional. The multipart field name of the primary file. - **environment** (string) - Optional. The target environment for the version (e.g., `client_and_server`, `client_only`). - **file_types** (object) - Optional. A map of file parts to their associated file types (e.g., `required-resource-pack`, `sources-jar`). ### Request Example ```json { "data": { "name": "Version 1.0.0", "version_number": "1.0.0", "changelog": "List of changes in this version: ...", "dependencies": [ { "version_id": "IIJJKKLL", "project_id": "QQRRSSTT", "file_name": "sodium-fabric-mc1.19-0.4.2+build.16.jar", "dependency_type": "required" } ], "game_versions": [ "1.16.5", "1.17.1" ], "version_type": "release", "loaders": [ "fabric", "forge", "minecraft" ], "featured": true, "status": "listed" }, "project_id": "AABBCCDD", "file_parts": ["my_mod_jar"], "primary_file": "my_mod_jar", "environment": "client_and_server", "file_types": { "my_mod_jar": "unknown" } } ``` ### Authorizations - **TokenAuth**: VERSION_CREATE ``` -------------------------------- ### Create Project Source: https://docs.modrinth.com/api/operations/createproject This endpoint allows for the creation of a new project on Modrinth. It accepts various details about the project, including its metadata, categories, support information, and initial versions. ```APIDOC ## POST /websites/modrinth_api ### Description Creates a new project with the provided details. ### Method POST ### Endpoint /websites/modrinth_api ### Parameters #### Request Body - **data** (object) - Required - Contains all project details. - **slug** (string) - Required - The slug of a project, used for vanity URLs. Regex: `^["\w!@$()`.+,"-']{3,64}$` - **title** (string) - Required - The title or name of the project. - **description** (string) - Required - A short description of the project. - **categories** (Array) - Required - A list of the categories that the project has. - **client_side** (string) - Required - The client side support of the project. Allowed values: `required`, `optional`, `unsupported`, `unknown`. - **server_side** (string) - Required - The server side support of the project. Allowed values: `required`, `optional`, `unsupported`, `unknown`. - **body** (string) - Required - A long form description of the project. - **status** (string) - Required - The status of the project. Allowed values: `approved`, `archived`, `rejected`, `draft`, `unlisted`, `processing`, `withheld`, `scheduled`, `private`, `unknown`. - **requested_status** (string) - Optional - The requested status when submitting for review or scheduling the project for release. Allowed values: `approved`, `archived`, `unlisted`, `private`, `draft`. - **additional_categories** (Array) - Optional - A list of categories which are searchable but non-primary. - **issues_url** (string) - Optional - An optional link to where to submit bugs or issues with the project. - **source_url** (string) - Optional - An optional link to the source code of the project. - **wiki_url** (string) - Optional - An optional link to the project’s wiki page or other relevant information. - **discord_url** (string) - Optional - An optional invite link to the project’s discord. - **donation_urls** (Array) - Optional - A list of donation links for the project. - **id** (string) - Required - The ID of the donation platform. - **platform** (string) - Required - The donation platform this link is to. - **url** (string) - Required - The URL of the donation platform and user. - **license_id** (string) - Required - The SPDX license ID of a project. - **license_url** (string) - Optional - The URL to this license. - **project_type** (string) - Required - Allowed values: `mod`, `modpack`. - **initial_versions** (Array) - Optional - A list of initial versions to upload with the created project. Deprecated - please upload version files after initial upload. - **name** (string) - Required - The name of this version. - **version_number** (string) - Required - The version number. Ideally will follow semantic versioning. - **changelog** (string) - Optional - The changelog for this version. - **dependencies** (Array) - Optional - A list of specific versions of projects that this version depends on. - **version_id** (string) - Optional - The ID of the version that this version depends on. - **project_id** (string) - Optional - The ID of the project that this version depends on. - **file_name** (string) - Optional - The file name of the dependency, mostly used for showing external dependencies on modpacks. - **dependency_type** (string) - Required - The type of dependency that this version has. Allowed values: `required`, `optional`, `incompatible`, `embedded`. - **game_versions** (Array) - Required - A list of versions of Minecraft that this version supports. - **version_type** (string) - Optional - The release channel for this version. Allowed values: `release`, `beta`, `alpha`. - **loaders** (Array) - Required - The mod loaders that this version supports. In case of resource packs, use “minecraft”. - **featured** (boolean) - Optional - Whether the version is featured or not. - **status** (string) - Required - Allowed values: `listed`, `archived`, `draft`, `unlisted`, `scheduled`, `unknown`. - **requested_status** (string) - Optional - Allowed values: `listed`, `archived`, `draft`, `unlisted`. - **primary_file** (Array) - Optional - The hash format and the hash of the new primary file. - **file_types** (Array) - Optional - A list of file_types to edit. - **algorithm** (string) - Required - The hash algorithm of the hash specified in the hash field. - **hash** (string) - Required - The hash of the file you’re editing. - **file_type** (string) - Required - Allowed values: `required-resource-pack`, `optional-resource-pack`, `sources-jar`, `dev-jar`, `javadoc-jar`, `unknown`, `signature`. - **is_draft** (boolean) - Optional ### Request Example ```json { "data": { "slug": "my_project", "title": "My Project", "description": "A short description", "categories": [ "technology", "adventure", "fabric" ], "client_side": "required", "server_side": "optional", "body": "A long body describing my project in detail", "status": "approved", "requested_status": "approved", "additional_categories": [ "technology", "adventure", "fabric" ], "issues_url": "https://github.com/my_user/my_project/issues", "source_url": "https://github.com/my_user/my_project", "wiki_url": "https://github.com/my_user/my_project/wiki", "discord_url": "https://discord.gg/AaBbCcDd", "donation_urls": [ { "id": "patreon", "platform": "Patreon", "url": "https://www.patreon.com/my_user" } ], "license_id": "LGPL-3.0-or-later", "license_url": null, "project_type": "modpack", "initial_versions": [ { "name": "Version 1.0.0", "version_number": "1.0.0", "changelog": "List of changes in this version: ...", "dependencies": [ { "version_id": "IIJJKKLL", "project_id": "QQRRSSTT", "file_name": "sodium-fabric-mc1.19-0.4.2+build.16.jar", "dependency_type": "required" } ], "game_versions": [ "1.16.5", "1.17.1" ], "version_type": "release", "loaders": [ "fabric", "forge", "minecraft" ], "featured": true, "status": "listed", "requested_status": "listed", "primary_file": [ "sha1", "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjj" ], "file_types": [ { "algorithm": "sha1", "hash": "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjj", "file_type": "required-resource-pack", "is_draft": false } ] } ] } } ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the created project. - **slug** (string) - The slug of the project. - **title** (string) - The title of the project. - **description** (string) - The short description of the project. - **project_type** (string) - The type of the project (`mod` or `modpack`). - **created** (string) - Timestamp of when the project was created. - **updated** (string) - Timestamp of when the project was last updated. - **url** (string) - The URL of the project on Modrinth. #### Response Example ```json { "id": "unique_project_id", "slug": "my_project", "title": "My Project", "description": "A short description", "project_type": "modpack", "created": "2023-10-27T10:00:00Z", "updated": "2023-10-27T10:00:00Z", "url": "https://modrinth.com/modpack/my_project" } ``` ``` -------------------------------- ### Facet Operations and Examples Source: https://docs.modrinth.com/api/operations/searchprojects Demonstrates how to construct facet strings using type, operation, and value. Common operations include '=', '!=', '>=', '>', '<=', and '<'. ```text categories = adventure ``` ```text versions != 1.20.1 ``` ```text downloads <= 100 ``` -------------------------------- ### Search Index Example Source: https://docs.modrinth.com/api/operations/searchprojects Specify the sorting method for search results using the 'index' parameter. Allowed values are 'relevance', 'downloads', 'follows', 'newest', and 'updated'. ```text downloads ``` -------------------------------- ### GET /websites/modrinth_api/loaders Source: https://docs.modrinth.com/api/operations/getproject Retrieves a list of all loaders supported by the project. ```APIDOC ## GET /websites/modrinth_api/loaders ### Description A list of all of the loaders supported by the project. ### Method GET ### Endpoint /websites/modrinth_api/loaders ### Response #### Success Response (200) - **loaders** (Array) - A list of supported loaders. #### Response Example ```json [ "forge", "fabric", "quilt" ] ``` ``` -------------------------------- ### 200 OK Response - Version Object Source: https://docs.modrinth.com/api/operations/createversion This object represents a successfully created version. It includes details like name, version number, changelog, dependencies, game versions, loaders, and file information. ```json { "name": "Version 1.0.0", "version_number": "1.0.0", "changelog": "List of changes in this version: ...", "dependencies": [ { "version_id": "IIJJKKLL", "project_id": "QQRRSSTT", "file_name": "sodium-fabric-mc1.19-0.4.2+build.16.jar", "dependency_type": "required" } ], "game_versions": [ "1.16.5", "1.17.1" ], "version_type": "release", "loaders": [ "fabric", "forge", "minecraft" ], "featured": true, "status": "listed", "requested_status": "listed", "id": "IIJJKKLL", "project_id": "AABBCCDD", "author_id": "EEFFGGHH", "date_published": "", "downloads": 0, "changelog_url": null, "files": [ { "hashes": { "sha512": "93ecf5fe02914fb53d94aa3d28c1fb562e23985f8e4d48b9038422798618761fe208a31ca9b723667a4e05de0d91a3f86bcd8d018f6a686c39550e21b198d96f", "sha1": "c84dd4b3580c02b79958a0590afd5783d80ef504" }, "url": "https://cdn.modrinth.com/data/AABBCCDD/versions/1.0.0/my_file.jar", "filename": "my_file.jar", "primary": true, "size": 1097270, "file_type": "unknown" } ] } ``` -------------------------------- ### GET /tag/game_version Source: https://docs.modrinth.com/api/operations/versionlist Retrieves an array of game versions and their associated metadata. ```APIDOC ## GET /tag/game_version ### Description Gets an array of game versions and information about them. ### Method GET ### Endpoint /tag/game_version ### Response #### Success Response (200) - **version** (string) - The name/number of the game version - **version_type** (string) - The type of the game version (release, snapshot, alpha, beta) - **date** (string) - The date of the game version release (ISO-8601) - **major** (boolean) - Whether or not this is a major version, used for Featured Versions #### Response Example [ { "version": "1.18.1", "version_type": "release", "date": "2021-12-10T00:00:00Z", "major": true } ] ``` -------------------------------- ### POST /project/{id|slug}/follow Source: https://docs.modrinth.com/api/operations/followproject Follows a project identified by its ID or slug. Requires TokenAuth with USER_WRITE scope. ```APIDOC ## POST /project/{id|slug}/follow ### Description Follows a project on the Modrinth platform. Requires the user to be authenticated with the USER_WRITE scope. ### Method POST ### Endpoint /project/{id|slug}/follow ### Parameters #### Path Parameters - **id|slug** (string) - Required - The ID or slug of the project. ### Response #### Success Response (204) - No content returned upon success. #### Error Response (400) - **error** (string) - The name of the error. - **description** (string) - The contents of the error. #### Error Response (401) - **error** (string) - The name of the error. - **description** (string) - The contents of the error. ``` -------------------------------- ### Response: Version Type Source: https://docs.modrinth.com/api/operations/getlatestversionsfromhashes The release channel for the version. Allowed values are 'release', 'beta', and 'alpha'. ```text release ``` -------------------------------- ### Response Body: Version Details Source: https://docs.modrinth.com/api/operations/versionsfromhashes A successful response maps provided hashes to detailed version information, including name, version number, changelog, dependencies, supported game versions, loaders, and release status. ```json { "_key_": { "name": "Version 1.0.0", "version_number": "1.0.0", "changelog": "List of changes in this version: ...", "dependencies": [ { "version_id": "IIJJKKLL", "project_id": "QQRRSSTT", "file_name": "sodium-fabric-mc1.19-0.4.2+build.16.jar", "dependency_type": "required" } ], "game_versions": [ "1.16.5", "1.17.1" ], "version_type": "release", "loaders": [ "fabric", "forge", "minecraft" ], "featured": true, "status": "listed", "requested_status": null, "id": "IIJJKKLL", "project_id": "AABBCCDD", "author_id": "EEFFGGHH", "date_published": "", "downloads": 1097270, "changelog_url": null, "files": [ { "hashes": { "sha512": "93ecf5fe02914fb53d94aa3d28c1fb562e23985f8e4d48b9038422798618761fe208a31ca9b723667a4e05de0d91a3f86bcd8d018f6a686c39550e21b198d96f", "sha1": "c84dd4b3580c02b79958a0590afd5783d80ef504" }, "url": "https://cdn.modrinth.com/data/AABBCCDD/versions/1.0.0/my_file.jar", "filename": "my_file.jar", "primary": true, "size": 1097270, "file_type": "unknown" } ] } } ``` -------------------------------- ### GET /threads Source: https://docs.modrinth.com/api/operations/getthreads Retrieves a list of threads based on the provided IDs. ```APIDOC ## GET /threads ### Description Retrieves multiple threads by their unique identifiers. ### Method GET ### Endpoint /threads ### Parameters #### Query Parameters - **ids** (string) - Required - The IDs of the threads (e.g., ["AABBCCDD", "EEFFGGHH"]) ### Response #### Success Response (200) - **id** (string) - The ID of the thread - **type** (string) - Allowed values: project, report, direct_message - **project_id** (string) - The ID of the associated project if a project thread - **report_id** (string) - The ID of the associated report if a report thread - **messages** (Array) - List of messages in the thread #### Response Example [ { "id": "WWXXYYZZ", "type": "project", "messages": [ { "id": "MMNNOOPP", "body": { "type": "text", "body": "This is the text of the message." }, "created": "2023-01-01T00:00:00Z" } ] } ] ``` -------------------------------- ### GET /websites/modrinth_api Source: https://docs.modrinth.com/api/operations/getproject Retrieves detailed information about a specific project on Modrinth. ```APIDOC ## GET /websites/modrinth_api ### Description Retrieves detailed information about a specific project on Modrinth, including its slug, title, description, categories, support status, and associated URLs. ### Method GET ### Endpoint /websites/modrinth_api ### Parameters #### Query Parameters - **slug** (string) - Required - The slug of a project, used for vanity URLs. Regex: `^["\w!@$()`.+,"-']{3,64}$` ### Response #### Success Response (200) - **slug** (string) - The slug of a project, used for vanity URLs. - **title** (string) - The title or name of the project. - **description** (string) - A short description of the project. - **categories** (Array) - A list of the categories that the project has. - **client_side** (string) - The client side support of the project. Allowed values: `required`, `optional`, `unsupported`, `unknown`. - **server_side** (string) - The server side support of the project. Allowed values: `required`, `optional`, `unsupported`, `unknown`. - **body** (string) - A long form description of the project. - **status** (string) - The status of the project. Allowed values: `approved`, `archived`, `rejected`, `draft`, `unlisted`, `processing`, `withheld`, `scheduled`, `private`, `unknown`. - **requested_status** (string) - The requested status when submitting for review or scheduling the project for release. Nullable. - **additional_categories** (Array) - A list of categories which are searchable but non-primary. - **issues_url** (string) - An optional link to where to submit bugs or issues with the project. Nullable. - **source_url** (string) - An optional link to the source code of the project. Nullable. - **wiki_url** (string) - An optional link to the project’s wiki page or other relevant information. Nullable. - **discord_url** (string) - An optional invite link to the project’s discord. Nullable. - **donation_urls** (Array) - A list of donation links for the project. - **id** (string) - The ID of the donation platform. - **platform** (string) - The donation platform this link is to. - **url** (string) - The URL of the donation platform and user. - **project_type** (string) - The project type of the project. Allowed values: `mod`, `modpack`, `resourcepack`, `shader`. - **downloads** (integer) - The total number of downloads of the project. - **icon_url** (string) - The URL of the project’s icon. Nullable. - **color** (integer) - The RGB color of the project, automatically generated from the project icon. Nullable. - **thread_id** (string) - The ID of the moderation thread associated with this project. - **monetization_status** (string) - Allowed values: `monetized`, `demonetized`, `force-demonetized`. - **id** (string) - The ID of the project, encoded as a base62 string. - **team** (string) - The ID of the team that has ownership of this project. - **body_url** (string) - The link to the long description of the project. Always null, only kept for legacy compatibility. Nullable. - **moderator_message** (object) - A message that a moderator sent regarding the project. - **message** (string) - The message that a moderator has left for the project. - **body** (string) - The longer body of the message that a moderator has left for the project. Nullable. - **published** (string) - The date the project was published. Format: ISO-8601. - **updated** (string) - The date the project was last updated. Format: ISO-8601. - **approved** (string) - The date the project’s status was set to an approved status. Nullable. Format: ISO-8601. - **queued** (string) - The date the project’s status was submitted to moderators for review. Nullable. Format: ISO-8601. - **followers** (integer) - The total number of users following the project. - **license** (object) - The license of the project. - **id** (string) - The SPDX license ID of a project. - **name** (string) - The long name of a license. - **url** (string) - The URL to this license. Nullable. #### Response Example ```json { "slug": "my_project", "title": "My Project", "description": "A short description", "categories": [ "technology", "adventure", "fabric" ], "client_side": "required", "server_side": "optional", "body": "A long body describing my project in detail", "status": "approved", "requested_status": null, "additional_categories": [ "technology", "adventure", "fabric" ], "issues_url": "https://github.com/my_user/my_project/issues", "source_url": "https://github.com/my_user/my_project", "wiki_url": "https://github.com/my_user/my_project/wiki", "discord_url": "https://discord.gg/AaBbCcDd", "donation_urls": [ { "id": "patreon", "platform": "Patreon", "url": "https://www.patreon.com/my_user" } ], "project_type": "mod", "downloads": 10000, "icon_url": "https://cdn.modrinth.com/data/AABBCCDD/b46513nd83hb4792a9a0e1fn28fgi6090c1842639.png", "color": 8703084, "thread_id": "TTUUVVWW", "monetization_status": "monetized", "id": "AABBCCDD", "team": "MMNNOOPP", "body_url": null, "moderator_message": { "message": "Project approved.", "body": null }, "published": "2023-01-01T10:00:00Z", "updated": "2023-01-01T10:00:00Z", "approved": "2023-01-01T10:00:00Z", "queued": "2023-01-01T09:00:00Z", "followers": 500, "license": { "id": "LGPL-3.0-or-later", "name": "GNU Lesser General Public License v3 or later", "url": null } } ``` ```