Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.modrinth.com/v2
https://staging-api.modrinth.com/v2
/notifications
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| ids | query | required | string | The IDs of the notifications |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /notifications
/notification/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | optional | string | The ID of the notification |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /notification/{id}
/project/{id|slug}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id|slug | path | optional | string | The ID or slug of the project |
Expected response to a valid request
Request was invalid, see given error
Incorrect token scopes or no authorization to access the requested item(s)
DELETE /project/{id|slug}
/project/{id|slug}/follow
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id|slug | path | optional | string | The ID or slug of the project |
Expected response to a valid request
Request was invalid, see given error
Incorrect token scopes or no authorization to access the requested item(s)
DELETE /project/{id|slug}/follow
/project/{id|slug}/gallery
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id|slug | path | optional | string | The ID or slug of the project |
| url | query | required | string | URL link of the image to delete |
Expected response to a valid request
Request was invalid, see given error
Incorrect token scopes or no authorization to access the requested item(s)
DELETE /project/{id|slug}/gallery
/project/{id|slug}/icon
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id|slug | path | optional | string | The ID or slug of the project |
Expected response to a valid request
Request was invalid, see given error
Incorrect token scopes or no authorization to access the requested item(s)
DELETE /project/{id|slug}/icon
/team/{id}/members/{id|username}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | optional | string | The ID of the team |
| id|username | path | optional | string | The ID or username of the user |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /team/{id}/members/{id|username}
/message/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | The ID of the message |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /message/{id}
/version_file/{hash}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| hash | path | optional | string | The hash of the file, considering its byte content, and encoded in hexadecimal |
| algorithm | query | optional | string | The algorithm of the hash |
| version_id | query | optional | string | Version ID to delete the version from, if multiple files of the same hash exist |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /version_file/{hash}
/version/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | optional | string | The ID of the version |
Expected response to a valid request
Incorrect token scopes or no authorization to access the requested item(s)
The requested item(s) were not found or no authorization to access the requested item(s)
DELETE /version/{id}
AuthError
{
"type": "object",
"required": [
"error",
"description"
],
"properties": {
"error": {
"type": "string",
"example": "unauthorized",
"description": "The name of the error"
},
"description": {
"type": "string",
"example": "Authentication Error: Invalid Authentication Credentials",
"description": "The contents of the error"
}
}
}
BaseProject
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"example": "my_project",
"description": "The slug of a project, used for vanity URLs. Regex: ```^[\\w!@$()`.+,\"\\-']{3,64}$```"
},
"title": {
"type": "string",
"example": "My Project",
"description": "The title or name of the project"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"technology",
"adventure",
"fabric"
],
"description": "A list of the categories that the project has"
},
"client_side": {
"enum": [
"required",
"optional",
"unsupported"
],
"type": "string",
"example": "required",
"description": "The client side support of the project"
},
"description": {
"type": "string",
"example": "A short description",
"description": "A short description of the project"
},
"server_side": {
"enum": [
"required",
"optional",
"unsupported"
],
"type": "string",
"example": "optional",
"description": "The server side support of the project"
}
}
}
BaseVersion
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Version 1.0.0",
"description": "The name of this version"
},
"status": {
"enum": [
"listed",
"archived",
"draft",
"unlisted",
"scheduled",
"unknown"
],
"type": "string",
"example": "listed"
},
"loaders": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"fabric",
"forge"
],
"description": "The mod loaders that this version supports"
},
"featured": {
"type": "boolean",
"example": true,
"description": "Whether the version is featured or not"
},
"changelog": {
"type": "string",
"example": "List of changes in this version: ...",
"nullable": true,
"description": "The changelog for this version"
},
"dependencies": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VersionDependency"
},
"description": "A list of specific versions of projects that this version depends on"
},
"version_type": {
"enum": [
"release",
"beta",
"alpha"
],
"type": "string",
"example": "release",
"description": "The release channel for this version"
},
"game_versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1.16.5",
"1.17.1"
],
"description": "A list of versions of Minecraft that this version supports"
},
"version_number": {
"type": "string",
"example": "1.0.0",
"description": "The version number. Ideally will follow semantic versioning"
},
"requested_status": {
"enum": [
"listed",
"archived",
"draft",
"unlisted"
],
"type": "string",
"nullable": true
}
}
}
CategoryTag
{
"type": "object",
"required": [
"icon",
"name",
"project_type",
"header"
],
"properties": {
"icon": {
"type": "string",
"example": "<svg></svg>",
"description": "The SVG icon of a category"
},
"name": {
"type": "string",
"example": "adventure",
"description": "The name of the category"
},
"header": {
"type": "string",
"example": "resolutions",
"description": "The header under which the category should go"
},
"project_type": {
"type": "string",
"example": "mod",
"description": "The project type this category is applicable to"
}
}
}
CreatableProject
{
"allOf": [
{
"$ref": "#/components/schemas/ModifiableProject"
},
{
"type": "object",
"required": [
"project_type",
"slug",
"title",
"description",
"body",
"categories",
"client_side",
"server_side",
"license_id"
],
"properties": {
"is_draft": {
"type": "boolean",
"example": true,
"deprecated": true,
"description": "Whether the project should be saved as a draft instead of being sent to moderation for review. Deprecated - please always mark this as true."
},
"project_type": {
"enum": [
"mod",
"modpack"
],
"type": "string",
"example": "modpack"
},
"gallery_items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CreatableProjectGalleryItem"
},
"deprecated": true,
"description": "Gallery images to be uploaded with the created project. Deprecated - please upload gallery images after initial upload."
},
"initial_versions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EditableVersion"
},
"deprecated": true,
"description": "A list of initial versions to upload with the created project. Deprecated - please upload version files after initial upload."
}
}
}
]
}
CreatableProjectGalleryItem
{
"type": "object",
"nullable": true,
"properties": {
"item": {
"type": "string",
"description": "The name of the multipart item where the gallery media is located"
},
"title": {
"type": "string",
"example": "My awesome screenshot!",
"nullable": true,
"description": "The title of the gallery image"
},
"featured": {
"type": "boolean",
"example": true,
"description": "Whether the image is featured in the gallery"
},
"ordering": {
"type": "integer",
"example": 0,
"description": "The order of the gallery image. Gallery images are sorted by this field and then alphabetically by title."
},
"description": {
"type": "string",
"example": "This awesome screenshot shows all of the blocks in my mod!",
"nullable": true,
"description": "The description of the gallery image"
}
}
}
CreatableReport
{
"type": "object",
"required": [
"report_type",
"item_id",
"item_type",
"body"
],
"properties": {
"body": {
"type": "string",
"example": "This is a reupload of my mod, AABBCCDD!",
"description": "The extended explanation of the report"
},
"item_id": {
"type": "string",
"example": "EEFFGGHH",
"description": "The ID of the item (project, version, or user) being reported"
},
"item_type": {
"enum": [
"project",
"user",
"version"
],
"type": "string",
"example": "project",
"description": "The type of the item being reported"
},
"report_type": {
"type": "string",
"example": "copyright",
"description": "The type of the report being sent"
}
}
}
CreatableVersion
{
"allOf": [
{
"$ref": "#/components/schemas/BaseVersion"
},
{
"type": "object",
"required": [
"file_parts",
"project_id",
"name",
"version_number",
"game_versions",
"version_type",
"loaders",
"featured",
"dependencies"
],
"properties": {
"file_parts": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of the multipart field names of each file that goes with this version"
},
"project_id": {
"type": "string",
"example": "AABBCCDD",
"description": "The ID of the project this version is for"
},
"primary_file": {
"type": "string",
"description": "The multipart field name of the primary file"
}
}
}
]
}
CreateProjectBody
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CreatableProject"
},
"icon": {
"enum": [
"*.png",
"*.jpg",
"*.jpeg",
"*.bmp",
"*.gif",
"*.webp",
"*.svg",
"*.svgz",
"*.rgb"
],
"type": "string",
"format": "binary",
"description": "Project icon file"
}
}
}
CreateVersionBody
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CreatableVersion"
}
}
}
DonationPlatformTag
{
"type": "object",
"required": [
"short",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "Buy Me a Coffee",
"description": "The full name of the donation platform"
},
"short": {
"type": "string",
"example": "bmac",
"description": "The short identifier of the donation platform"
}
}
}
EditableFileType
{
"type": "object",
"required": [
"algorithm",
"hash",
"file_type"
],
"properties": {
"hash": {
"type": "string",
"example": "aaaabbbbccccddddeeeeffffgggghhhhiiiijjjj",
"description": "The hash of the file you're editing"
},
"algorithm": {
"type": "string",
"example": "sha1",
"description": "The hash algorithm of the hash specified in the hash field"
},
"file_type": {
"enum": [
"required-resource-pack",
"optional-resource-pack"
],
"type": "string",
"example": "required-resource-pack",
"nullable": true,
"description": "The hash algorithm of the file you're editing"
}
}
}
EditableProject
{
"allOf": [
{
"$ref": "#/components/schemas/ModifiableProject"
},
{
"type": "object",
"properties": {
"moderation_message": {
"type": "string",
"nullable": true,
"description": "The title of the moderators' message for the project"
},
"moderation_message_body": {
"type": "string",
"nullable": true,
"description": "The body of the moderators' message for the project"
}
}
}
]
}
EditableUser
{
"type": "object",
"required": [
"username"
],
"properties": {
"bio": {
"type": "string",
"example": "My short biography",
"description": "A description of the user"
},
"name": {
"type": "string",
"example": "My User",
"nullable": true,
"description": "The user's display name"
},
"email": {
"type": "string",
"format": "email",
"nullable": true,
"description": "The user's email (only displayed if requesting your own account). Requires `USER_READ_EMAIL` PAT scope."
},
"username": {
"type": "string",
"example": "my_user",
"description": "The user's username"
},
"payout_data": {
"$ref": "#/components/schemas/UserPayoutData"
}
}
}
EditableVersion
{
"allOf": [
{
"$ref": "#/components/schemas/BaseVersion"
},
{
"type": "object",
"properties": {
"file_types": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EditableFileType"
},
"description": "A list of file_types to edit"
},
"primary_file": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"sha1",
"aaaabbbbccccddddeeeeffffgggghhhhiiiijjjj"
],
"description": "The hash format and the hash of the new primary file"
}
}
}
]
}
ForgeUpdateCheckerPromos
{
"type": "object",
"properties": {
"{version}-latest": {
"type": "string",
"description": "The latest mod version for `{version}`. Shows versions with the `alpha` and `beta` version types."
},
"{version}-recommended": {
"type": "string",
"description": "The mod version that is recommended for `{version}`. Excludes versions with the `alpha` and `beta` version types."
}
},
"description": "A list of the recommended and latest versions for each Minecraft release"
}
ForgeUpdates
{
"type": "object",
"properties": {
"promos": {
"$ref": "#/components/schemas/ForgeUpdateCheckerPromos"
},
"homepage": {
"type": "string",
"example": "https://modrinth.com",
"description": "A link to the mod page"
}
},
"description": "Mod version information that can be consumed by Forge's update checker"
}
GalleryImage
{
"type": "object",
"nullable": true,
"required": [
"url",
"featured",
"created"
],
"properties": {
"url": {
"type": "string",
"example": "https://cdn.modrinth.com/data/AABBCCDD/images/009b7d8d6e8bf04968a29421117c59b3efe2351a.png",
"description": "The URL of the gallery image"
},
"title": {
"type": "string",
"example": "My awesome screenshot!",
"nullable": true,
"description": "The title of the gallery image"
},
"created": {
"type": "string",
"format": "ISO-8601",
"description": "The date and time the gallery image was created"
},
"featured": {
"type": "boolean",
"example": true,
"description": "Whether the image is featured in the gallery"
},
"ordering": {
"type": "integer",
"example": 0,
"description": "The order of the gallery image. Gallery images are sorted by this field and then alphabetically by title."
},
"description": {
"type": "string",
"example": "This awesome screenshot shows all of the blocks in my mod!",
"nullable": true,
"description": "The description of the gallery image"
}
}
}
GameVersionTag
{
"type": "object",
"required": [
"version",
"version_type",
"date",
"major"
],
"properties": {
"date": {
"type": "string",
"format": "ISO-8601",
"description": "The date of the game version release"
},
"major": {
"type": "boolean",
"example": true,
"description": "Whether or not this is a major version, used for Featured Versions"
},
"version": {
"type": "string",
"example": "1.18.1",
"description": "The name/number of the game version"
},
"version_type": {
"enum": [
"release",
"snapshot",
"alpha",
"beta"
],
"type": "string",
"example": "release",
"description": "The type of the game version"
}
}
}
GetLatestVersionFromHashBody
{
"type": "object",
"required": [
"loaders",
"game_versions"
],
"properties": {
"loaders": {
"type": "array",
"items": {
"type": "string",
"example": [
"fabric"
]
}
},
"game_versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1.18",
"1.18.1"
]
}
}
}
GetLatestVersionsFromHashesBody
{
"allOf": [
{
"$ref": "#/components/schemas/HashList"
},
{
"type": "object",
"required": [
"loaders",
"game_versions"
],
"properties": {
"loaders": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"fabric"
]
},
"game_versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1.18",
"1.18.1"
]
}
}
}
]
}
HashList
{
"type": "object",
"required": [
"hashes",
"algorithm"
],
"properties": {
"hashes": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"ea0f38408102e4d2efd53c2cc11b88b711996b48d8922f76ea6abf731219c5bd1efe39ddf9cce77c54d49a62ff10fb685c00d2e4c524ab99d20f6296677ab2c4",
"925a5c4899affa4098d997dfa4a4cb52c636d539e94bc489d1fa034218cb96819a70eb8b01647a39316a59fcfe223c1a8c05ed2e2ae5f4c1e75fa48f6af1c960"
]
},
"algorithm": {
"enum": [
"sha1",
"sha512"
],
"type": "string",
"example": "sha512"
}
},
"description": "A list of hashes and the algorithm used to create them"
}
HashVersionMap
{
"type": "object",
"description": "A map from hashes to versions",
"additionalProperties": {
"$ref": "#/components/schemas/Version"
}
}
InvalidInputError
{
"type": "object",
"required": [
"error",
"description"
],
"properties": {
"error": {
"type": "string",
"example": "invalid_input",
"description": "The name of the error"
},
"description": {
"type": "string",
"example": "Error while parsing multipart payload",
"description": "The contents of the error"
}
}
}
License
{
"type": "object",
"properties": {
"body": {
"type": "string",
"example": "Insert the entire text of the LGPL-3.0 here..."
},
"title": {
"type": "string",
"example": "GNU Lesser General Public License v3.0 or later"
}
},
"description": "A full license"
}
LicenseTag
{
"type": "object",
"required": [
"short",
"name"
],
"properties": {
"name": {
"type": "string",
"example": "GNU Lesser General Public License v3",
"description": "The full name of the license"
},
"short": {
"type": "string",
"example": "lgpl-3",
"description": "The short identifier of the license"
}
},
"description": "A short overview of a license"
}
LoaderTag
{
"type": "object",
"required": [
"icon",
"name",
"supported_project_types"
],
"properties": {
"icon": {
"type": "string",
"example": "<svg></svg>",
"description": "The SVG icon of a loader"
},
"name": {
"type": "string",
"example": "fabric",
"description": "The name of the loader"
},
"supported_project_types": {
"type": "array",
"items": {
"type": "string",
"description": "The project type"
},
"example": [
"mod",
"modpack"
],
"description": "The project types that this loader is applicable to"
}
}
}
ModeratorMessage
{
"type": "object",
"example": null,
"nullable": true,
"deprecated": true,
"properties": {
"body": {
"type": "string",
"nullable": true,
"description": "The longer body of the message that a moderator has left for the project"
},
"message": {
"type": "string",
"description": "The message that a moderator has left for the project"
}
},
"description": "A message that a moderator sent regarding the project"
}
ModifiableProject
{
"allOf": [
{
"$ref": "#/components/schemas/NonSearchProject"
},
{
"type": "object",
"properties": {
"license_id": {
"type": "string",
"example": "LGPL-3.0-or-later",
"description": "The SPDX license ID of a project"
},
"license_url": {
"type": "string",
"nullable": true,
"description": "The URL to this license"
}
}
}
]
}
ModifyTeamMemberBody
{
"properties": {
"role": {
"type": "string",
"example": "Contributor"
},
"ordering": {
"type": "integer",
"example": 0,
"description": "The order of the team member."
},
"permissions": {
"type": "integer",
"format": "bitfield",
"example": 127,
"description": "The user's permissions in bitfield format\n\nIn order from first to tenth bit, the bits are:\n- UPLOAD_VERSION\n- DELETE_VERSION\n- EDIT_DETAILS\n- EDIT_BODY\n- MANAGE_INVITES\n- REMOVE_MEMBER\n- EDIT_MEMBER\n- DELETE_PROJECT\n- VIEW_ANALYTICS\n- VIEW_PAYOUTS\n"
},
"payouts_split": {
"type": "integer",
"example": 100,
"description": "The split of payouts going to this user. The proportion of payouts they get is their split divided by the sum of the splits of all members."
}
}
}
NonSearchProject
{
"allOf": [
{
"$ref": "#/components/schemas/BaseProject"
},
{
"type": "object",
"properties": {
"body": {
"type": "string",
"example": "A long body describing my project in detail",
"description": "A long form description of the project"
},
"status": {
"enum": [
"approved",
"archived",
"rejected",
"draft",
"unlisted",
"processing",
"withheld",
"scheduled",
"private",
"unknown"
],
"type": "string",
"example": "approved",
"description": "The status of the project"
},
"wiki_url": {
"type": "string",
"example": "https://github.com/my_user/my_project/wiki",
"nullable": true,
"description": "An optional link to the project's wiki page or other relevant information"
},
"issues_url": {
"type": "string",
"example": "https://github.com/my_user/my_project/issues",
"nullable": true,
"description": "An optional link to where to submit bugs or issues with the project"
},
"source_url": {
"type": "string",
"example": "https://github.com/my_user/my_project",
"nullable": true,
"description": "An optional link to the source code of the project"
},
"discord_url": {
"type": "string",
"example": "https://discord.gg/AaBbCcDd",
"nullable": true,
"description": "An optional invite link to the project's discord"
},
"donation_urls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectDonationURL"
},
"description": "A list of donation links for the project"
},
"requested_status": {
"enum": [
"approved",
"archived",
"unlisted",
"private",
"draft"
],
"type": "string",
"nullable": true,
"description": "The requested status when submitting for review or scheduling the project for release"
},
"additional_categories": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"technology",
"adventure",
"fabric"
],
"description": "A list of categories which are searchable but non-primary"
}
}
}
]
}
Notification
{
"type": "object",
"required": [
"id",
"user_id",
"title",
"text",
"link",
"read",
"created",
"actions"
],
"properties": {
"id": {
"type": "string",
"example": "UUVVWWXX",
"description": "The id of the notification"
},
"link": {
"type": "string",
"example": "mod/AABBCCDD/version/IIJJKKLL",
"description": "A link to the related project or version"
},
"read": {
"type": "boolean",
"example": false,
"description": "Whether the notification has been read or not"
},
"text": {
"type": "string",
"example": "The project, My Project, has released a new version: 1.0.0",
"description": "The body text of the notification"
},
"type": {
"enum": [
"project_update",
"team_invite",
"status_change",
"moderator_message"
],
"type": "string",
"example": "project_update",
"nullable": true,
"description": "The type of notification"
},
"title": {
"type": "string",
"example": "**My Project** has been updated!",
"description": "The title of the notification"
},
"actions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotificationAction"
},
"description": "A list of actions that can be performed"
},
"created": {
"type": "string",
"format": "ISO-8601",
"description": "The time at which the notification was created"
},
"user_id": {
"type": "string",
"example": "EEFFGGHH",
"description": "The id of the user who received the notification"
}
}
}
NotificationAction
{
"type": "object",
"properties": {
"title": {
"type": "string",
"example": "Accept",
"description": "The friendly name for this action"
},
"action_route": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"POST",
"team/{id}/join"
],
"description": "The HTTP code and path to request in order to perform this action."
}
},
"description": "An action that can be performed on a notification"
}
NotificationsGetMultipleResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Notification"
}
}
NotificationsGetUserNotificationsResponse
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Notification"
}
}
PatchProjectsBody
{
"type": "object",
"properties": {
"wiki_url": {
"type": "string",
"example": "https://github.com/my_user/my_project/wiki",
"nullable": true,
"description": "An optional link to the projects' wiki page or other relevant information"
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Set all of the categories to the categories specified here"
},
"issues_url": {
"type": "string",
"example": "https://github.com/my_user/my_project/issues",
"nullable": true,
"description": "An optional link to where to submit bugs or issues with the projects"
},
"source_url": {
"type": "string",
"example": "https://github.com/my_user/my_project",
"nullable": true,
"description": "An optional link to the source code of the projects"
},
"discord_url": {
"type": "string",
"example": "https://discord.gg/AaBbCcDd",
"nullable": true,
"description": "An optional invite link to the projects' discord"
},
"donation_urls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectDonationURL"
},
"description": "Set all of the donation links to the donation links specified here"
},
"add_categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Add all of the categories specified here"
},
"add_donation_urls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectDonationURL"
},
"description": "Add all of the donation links specified here"
},
"remove_categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Remove all of the categories specified here"
},
"remove_donation_urls": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProjectDonationURL"
},
"description": "Remove all of the donation links specified here"
},
"additional_categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Set all of the additional categories to the categories specified here"
},
"add_additional_categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Add all of the additional categories specified here"
},
"remove_additional_categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Remove all of the additional categories specified here"
}
}
}
Project
{
"allOf": [
{
"$ref": "#/components/schemas/NonSearchProject"
},
{
"$ref": "#/components/schemas/ServerRenderedProject"
},
{
"type": "object",
"required": [
"id",
"team",
"published",
"updated",
"followers",
"title",
"description",
"categories",
"client_side",
"server_side",
"slug",
"body",
"status"
],
"properties": {
"id": {
"type": "string",
"example": "AABBCCDD",
"description": "The ID of the project, encoded as a base62 string"
},
"team": {
"type": "string",
"example": "MMNNOOPP",
"description": "The ID of the team that has ownership of this project"
},
"queued": {
"type": "string",
"format": "ISO-8601",
"nullable": true,
"description": "The date the project's status was submitted to moderators for review"
},
"gallery": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GalleryImage"
},
"description": "A list of images that have been uploaded to the project's gallery"
},
"license": {
"$ref": "#/components/schemas/ProjectLicense"
},
"loaders": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"forge",
"fabric",
"quilt"
],
"description": "A list of all of the loaders supported by the project"
},
"updated": {
"type": "string",
"format": "ISO-8601",
"description": "The date the project was last updated"
},
"approved": {
"type": "string",
"format": "ISO-8601",
"nullable": true,
"description": "The date the project's status was set to an approved status"
},
"body_url": {
"type": "string",
"default": null,
"example": null,
"nullable": true,
"deprecated": true,
"description": "The link to the long description of the project. Always null, only kept for legacy compatibility."
},
"versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"IIJJKKLL",
"QQRRSSTT"
],
"description": "A list of the version IDs of the project (will never be empty unless `draft` status)"
},
"followers": {
"type": "integer",
"description": "The total number of users following the project"
},
"published": {
"type": "string",
"format": "ISO-8601",
"description": "The date the project was published"
},
"game_versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1.19",
"1.19.1",
"1.19.2",
"1.19.3"
],
"description": "A list of all of the game versions supported by the project"
},
"moderator_message": {
"$ref": "#/components/schemas/ModeratorMessage"
}
}
}
]
}
ProjectDependencyList
{
"type": "object",
"properties": {
"projects": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Project"
},
"description": "Projects that the project depends upon"
},
"versions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Version"
},
"description": "Versions that the project depends upon"
}
}
}
ProjectDonationURL
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "patreon",
"description": "The ID of the donation platform"
},
"url": {
"type": "string",
"example": "https://www.patreon.com/my_user",
"description": "The URL of the donation platform and user"
},
"platform": {
"type": "string",
"example": "Patreon",
"description": "The donation platform this link is to"
}
}
}
ProjectIdentifier
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "AABBCCDD"
}
}
}
ProjectLicense
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "LGPL-3.0-or-later",
"description": "The SPDX license ID of a project"
},
"url": {
"type": "string",
"nullable": true,
"description": "The URL to this license"
},
"name": {
"type": "string",
"example": "GNU Lesser General Public License v3 or later",
"description": "The long name of a license"
}
},
"description": "The license of the project"
}
ProjectResult
{
"allOf": [
{
"$ref": "#/components/schemas/ServerRenderedProject"
},
{
"type": "object",
"required": [
"slug",
"title",
"description",
"client_side",
"server_side",
"project_id",
"author",
"versions",
"follows",
"date_created",
"date_modified",
"license"
],
"properties": {
"author": {
"type": "string",
"example": "my_user",
"description": "The username of the project's author"
},
"follows": {
"type": "integer",
"description": "The total number of users following the project"
},
"gallery": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"https://cdn.modrinth.com/data/AABBCCDD/images/009b7d8d6e8bf04968a29421117c59b3efe2351a.png",
"https://cdn.modrinth.com/data/AABBCCDD/images/c21776867afb6046fdc3c21dbcf5cc50ae27a236.png"
],
"description": "All gallery images attached to the project"
},
"license": {
"type": "string",
"example": "MIT",
"description": "The SPDX license ID of a project"
},
"versions": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"1.8",
"1.8.9"
],
"description": "A list of the minecraft versions supported by the project"
},
"project_id": {
"type": "string",
"example": "AABBCCDD",
"description": "The ID of the project"
},
"date_created": {
"type": "string",
"format": "ISO-8601",
"description": "The date the project was added to search"
},
"date_modified": {
"type": "string",
"format": "ISO-8601",
"description": "The date the project was last modified"
},
"latest_version": {
"type": "string",
"example": "1.8.9",
"description": "The latest version of minecraft that this project supports"
},
"featured_gallery": {
"type": "string",
"nullable": true,
"description": "The featured gallery image of the project"
},
"display_categories": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"technology",
"fabric"
],
"description": "A list of the categories that the project has which are not secondary"
}
}
}
]
}
ProjectsChangeProjectIconRequest
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest1
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest2
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest3
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest4
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest5
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest6
{
"type": "string",
"format": "binary"
}
ProjectsChangeProjectIconRequest7
{
"type": "string",
"format": "binary"
}
| Version | Endpoints | Schemas | Ingested | Status |
|---|---|---|---|---|
| v2.7.0/15cf3fc | 76 | 91 | 2026-05-11 | current |
| v2.7.0/15cf3fc | 76 | 91 | 2026-04-20 | |
| v2.7.0/15cf3fc | 76 | 91 | 2026-04-16 |