Modrinth API
Simulate the Modrinth API in seconds. This documentation doesn't provide a way to test our API.
[01]
About
Mock the Modrinth API as a turnkey Mockzilla sim with 76 OpenAPI endpoints, realistic JSON payloads, no upstream signup or sandbox keys. This documentation doesn't provide a way to test our API. Methods: 39x GET, 15x POST, 12x PATCH, 10x DELETE. Top resource groups: projects, versions, users, threads. Hit https://api.justmocks.com/modrinth for the Mockzilla API Explorer landing and per-endpoint sample requests.
Endpoints
76 across 9 resource groups
Methods
GET 39 · POST 15 · PATCH 12 · DEL 10 none deprecated
OpenAPI
3.0.0 spec version v2.7.0/15cf3fc
Source spec
131 KB · YAML
[02]
Endpoints
| GET |
/search
|
Search projects
|
| GET |
/project/{id|slug}
|
Get a project
|
| PATCH |
/project/{id|slug}
|
Modify a project
|
| DEL |
/project/{id|slug}
|
Delete a project
|
| GET |
/projects
|
Get multiple projects
|
| PATCH |
/projects
|
Bulk-edit multiple projects
|
| GET |
/projects_random
|
Get a list of random projects
|
| POST |
/project
|
Create a project
|
| PATCH |
/project/{id|slug}/icon
|
Change project's icon The new icon may be up to 256KiB in size. Mocked via Mockzilla.
|
| DEL |
/project/{id|slug}/icon
|
Delete project's icon
|
| GET |
/project/{id|slug}/check
|
Check project slug/ID validity
|
| POST |
/project/{id|slug}/gallery
|
Add a gallery image Modrinth allows you to upload files of up to 5MiB to a project's gallery.
|
| PATCH |
/project/{id|slug}/gallery
|
Modify a gallery image
|
| DEL |
/project/{id|slug}/gallery
|
Delete a gallery image
|
| GET |
/project/{id|slug}/dependencies
|
Get all of a project's dependencies
|
| POST |
/project/{id|slug}/follow
|
Follow a project
|
| DEL |
/project/{id|slug}/follow
|
Unfollow a project
|
| POST |
/project/{id|slug}/schedule
|
Schedule a project
|
| GET |
/project/{id|slug}/version
|
List project's versions
|
| GET |
/version/{id}
|
Get a version
|
| PATCH |
/version/{id}
|
Modify a version
|
| DEL |
/version/{id}
|
Delete a version
|
| GET |
/project/{id|slug}/version/{id|number}
|
Get a version given a version number or ID Please note that, if the version number provided matches multiple versions, only the oldest matching version will be returned.
|
| POST |
/version
|
Create a version This route creates a version on an existing project. There must be at least one file attached to each new version, unless the new version's status is draft. .mrpack, .jar, .zip, and .litemod files are accepted. The request is a multipart request with at least two form fields: one is data, which includes a JSON body with the version metadata as shown below, and at least one field containing an upload file. You can name the file parts anything you would like, but you must list each of the parts' names in file_parts, and optionally, provide one to use as the primary file in primary_file.
|
| POST |
/version/{id}/schedule
|
Schedule a version
|
| GET |
/versions
|
Get multiple versions
|
| POST |
/version/{id}/file
|
Add files to version Project files are attached. .mrpack and .jar files are accepted.
|
| GET |
/version_file/{hash}
|
Get version from hash
|
| DEL |
/version_file/{hash}
|
Delete a file from its hash
|
| POST |
/version_file/{hash}/update
|
Latest version of a project from a hash, loader(s), and game version(s)
|
| POST |
/version_files
|
Get versions from hashes This is the same as /version_file/{hash} except it accepts multiple hashes. Available as a Mockzilla mock endpoint.
|
| POST |
/version_files/update
|
Latest versions of multiple project from hashes, loader(s), and game version(s) This is the same as /version_file/{hash}/update except it accepts multiple hashes.
|
| GET |
/user/{id|username}
|
Get a user
|
| PATCH |
/user/{id|username}
|
Modify a user
|
| GET |
/user
|
Get user from authorization header
|
| GET |
/users
|
Get multiple users
|
| PATCH |
/user/{id|username}/icon
|
Change user's avatar The new avatar may be up to 2MiB in size.
|
| GET |
/user/{id|username}/projects
|
Get user's projects
|
| GET |
/user/{id|username}/follows
|
Get user's followed projects
|
| GET |
/user/{id|username}/payouts
|
Get user's payout history
|
| POST |
/user/{id|username}/payouts
|
Withdraw payout balance to PayPal or Venmo Warning: certain amounts get withheld for fees. Please do not call this API endpoint without first acknowledging the warnings on the corresponding frontend page.
|
| GET |
/user/{id|username}/notifications
|
Get user's notifications
|
| GET |
/notification/{id}
|
Get notification from ID
|
| PATCH |
/notification/{id}
|
Mark notification as read
|
| DEL |
/notification/{id}
|
Delete notification
|
| GET |
/notifications
|
Get multiple notifications
|
| PATCH |
/notifications
|
Mark multiple notifications as read
|
| DEL |
/notifications
|
Delete multiple notifications
|
| POST |
/report
|
Report a project, user, or version Bring a project, user, or version to the attention of the moderators by reporting it.
|
| GET |
/report
|
Get your open reports
|
| GET |
/report/{id}
|
Get report from ID
|
| PATCH |
/report/{id}
|
Modify a report
|
| GET |
/reports
|
Get multiple reports
|
| GET |
/thread/{id}
|
Get a thread
|
| POST |
/thread/{id}
|
Send a text message to a thread
|
| GET |
/threads
|
Get multiple threads
|
| DEL |
/message/{id}
|
Delete a thread message
|
| GET |
/project/{id|slug}/members
|
Get a project's team members
|
| GET |
/team/{id}/members
|
Get a team's members
|
| POST |
/team/{id}/members
|
Add a user to a team
|
| GET |
/teams
|
Get the members of multiple teams
|
| POST |
/team/{id}/join
|
Join a team
|
| PATCH |
/team/{id}/members/{id|username}
|
Modify a team member's information
|
| DEL |
/team/{id}/members/{id|username}
|
Remove a member from a team
|
| PATCH |
/team/{id}/owner
|
Transfer team's ownership to another user
|
| GET |
/tag/category
|
Get a list of categories Gets an array of categories, their icons, and applicable project types. Mockzilla mock: no signup, no API key.
|
| GET |
/tag/loader
|
Get a list of loaders Gets an array of loaders, their icons, and supported project types
|
| GET |
/tag/game_version
|
Get a list of game versions Gets an array of game versions and information about them
|
| GET |
/tag/license
|
Get a list of licenses Deprecated - simply use SPDX IDs.
|
| GET |
/tag/license/{id}
|
Get the text and title of a license
|
| GET |
/tag/donation_platform
|
Get a list of donation platforms Gets an array of donation platforms and information about them
|
| GET |
/tag/report_type
|
Get a list of report types Gets an array of valid report types. Served by the Mockzilla mock runtime.
|
| GET |
/tag/project_type
|
Get a list of project types Gets an array of valid project types
|
| GET |
/tag/side_type
|
Get a list of side types Gets an array of valid side types
|
| GET |
/updates/{id|slug}/forge_updates.json
|
Forge Updates JSON file If you're a Forge mod developer, your Modrinth mods have an automatically generated updates.json using the Forge Update Checker. The only setup is to insert the URL into the [[mods]] section of your mods.toml file as such: [[mods]] the other stuff here - ID, version, display name, etc. updateJSONURL = "https://api.modrinth.com/updates/{slug|ID}/forge_updates.json" Replace {slug|id} with the slug or ID of your project. Modrinth will handle the rest! When you update your mod, Forge will notify your users that their copy of your mod is out of date. Make sure that the version format you use for your Modrinth releases is the same as the version format you use in your mods.toml. If you use a format such as 1.2.3-forge or 1.2.3+1.19 with your Modrinth releases but your mods.toml only has 1.2.3, the update checker may not function properly.
|
| GET |
/statistics
|
Various statistics about this Modrinth instance
|