9.0 KiB
9.0 KiB
Get Project
获取 Modrinth 上的单个或多个 project 的基本数据。
GET /project/{id|slug}
获取单个 project 的完整信息。
路径参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
id|slug |
path | string |
✅ | Project 的 ID(base62 编码)或 slug(用于自定义 URL)。 |
响应 200 OK
返回 Project 对象。
响应 404 Not Found
指定的 project 不存在或无权限访问。
GET /projects
批量获取多个 project 的完整信息。
查询参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
ids |
query | string |
✅ | 以 JSON 数组格式指定要获取的 project ID 或 slug。例如 ["AABBCCDD", "my_project"]。 |
响应 200 OK
返回 Project 对象数组。
Project 模型
Project 继承自多个层级 schema,完整字段如下。
🔗 Schema 继承关系:
Project=NonSearchProject+ServerRenderedProject+ 自身字段其中
NonSearchProject和ServerRenderedProject均继承自BaseProject。
Project
├── BaseProject (基础信息)
│ ├── slug
│ ├── title
│ ├── description
│ ├── categories
│ ├── client_side
│ └── server_side
├── NonSearchProject (非搜索专属字段)
│ ├── body
│ ├── status
│ ├── requested_status
│ ├── additional_categories
│ ├── issues_url
│ ├── source_url
│ ├── wiki_url
│ ├── discord_url
│ └── donation_urls
├── ServerRenderedProject (服务端渲染字段)
│ ├── project_type
│ ├── downloads
│ ├── icon_url
│ ├── color
│ ├── thread_id
│ └── monetization_status
└── Project (自身字段)
├── id
├── team
├── body_url ⚠️
├── moderator_message ⚠️
├── published
├── updated
├── approved
├── queued
├── followers
├── license
├── versions
├── game_versions
├── loaders
└── gallery
字段一览
| 字段 | 类型 | 来源 | 说明 |
|---|---|---|---|
id |
string |
Project | Project ID(base62 编码)。 |
slug |
string |
BaseProject | 用于自定义 URL 的简短标识符,正则 ^[\w!@$().+,"'-]{3,64}$`。 |
title |
string |
BaseProject | Project 名称或标题。 |
description |
string |
BaseProject | 简短描述。 |
body |
string |
NonSearchProject | 长描述(支持 Markdown)。 |
categories |
string[] |
BaseProject | 主分类列表。 |
additional_categories |
string[] |
NonSearchProject | 附加分类(可搜索但非主要)。 |
client_side |
string |
BaseProject | 客户端支持类型。required / optional / unsupported / unknown。 |
server_side |
string |
BaseProject | 服务端支持类型。required / optional / unsupported / unknown。 |
project_type |
string |
ServerRenderedProject | 项目类型。mod / modpack / resourcepack / shader。 |
downloads |
integer |
ServerRenderedProject | 总下载次数。 |
followers |
integer |
Project | 关注者数量。 |
status |
string |
NonSearchProject | 项目状态:approved / archived / rejected / draft / unlisted / processing / withheld / scheduled / private / unknown。 |
requested_status |
string ⚠️ |
NonSearchProject | 申请中的状态。approved / archived / unlisted / private / draft。可为 null。 |
license |
ProjectLicense |
Project | 许可证信息。 |
team |
string |
Project | 拥有此 project 的团队 ID。 |
published |
string (ISO-8601) |
Project | 发布日期。 |
updated |
string (ISO-8601) |
Project | 最后更新日期。 |
approved |
string (ISO-8601) ⚠️ |
Project | 审核通过日期。可为 null。 |
queued |
string (ISO-8601) ⚠️ |
Project | 提交审核日期。可为 null。 |
icon_url |
string ⚠️ |
ServerRenderedProject | 图标 URL。可为 null。 |
color |
integer ⚠️ |
ServerRenderedProject | 从图标自动生成的 RGB 颜色值。可为 null。 |
thread_id |
string |
ServerRenderedProject | 关联的审核线程 ID。 |
monetization_status |
string |
ServerRenderedProject | 变现状态。monetized / demonetized / force-demonetized。 |
issues_url |
string ⚠️ |
NonSearchProject | 问题跟踪链接。可为 null。 |
source_url |
string ⚠️ |
NonSearchProject | 源代码链接。可为 null。 |
wiki_url |
string ⚠️ |
NonSearchProject | Wiki 链接。可为 null。 |
discord_url |
string ⚠️ |
NonSearchProject | Discord 邀请链接。可为 null。 |
donation_urls |
ProjectDonationURL[] |
NonSearchProject | 捐赠链接列表。 |
body_url |
string ⚠️ ⛔ |
Project | 已弃用,始终为 null。 |
moderator_message |
ModeratorMessage ⛔ |
Project | 已弃用,始终为 null。 |
versions |
string[] |
Project | 所有版本 ID 列表(draft 状态时为空)。 |
game_versions |
string[] |
Project | 支持的 Minecraft 版本列表。 |
loaders |
string[] |
Project | 支持的模组加载器列表。 |
gallery |
GalleryImage[] |
Project | 图库图片列表。 |
⚠️ 表示可为
null。⛔ 表示已弃用。
ProjectLicense
| 字段 | 类型 | 说明 |
|---|---|---|
id |
string |
SPDX 许可证 ID(如 LGPL-3.0-or-later)。 |
name |
string |
许可证全名(如 GNU Lesser General Public License v3 or later)。 |
url |
string ⚠️ |
许可证文本 URL,可为 null。 |
ProjectDonationURL
| 字段 | 类型 | 说明 |
|---|---|---|
id |
string |
捐赠平台 ID(如 patreon)。 |
platform |
string |
捐赠平台名称(如 Patreon)。 |
url |
string |
捐赠链接。 |
GalleryImage
| 字段 | 类型 | 说明 |
|---|---|---|
url |
string |
图片 URL。 |
featured |
boolean |
是否为精选图片。 |
title |
string ⚠️ |
图片标题,可为 null。 |
description |
string ⚠️ |
图片描述,可为 null。 |
created |
string (ISO-8601) |
创建日期。 |
ordering |
integer |
排序序号(先按此字段排,再按标题字母序排)。 |
ModeratorMessage
⛔ 已弃用,始终为
null。
| 字段 | 类型 | 说明 |
|---|---|---|
message |
string |
审核员留言。 |
body |
string ⚠️ |
留言详细内容,可为 null。 |
示例
请求 - 获取单个 project
curl -X GET "https://api.modrinth.com/v2/project/my_project"
响应
{
"id": "AABBCCDD",
"slug": "my_project",
"team": "MMNNOOPP",
"title": "My Project",
"description": "A short description",
"body": "A long body describing my project in detail",
"categories": ["technology", "adventure", "fabric"],
"additional_categories": ["utility"],
"client_side": "required",
"server_side": "optional",
"project_type": "mod",
"status": "approved",
"requested_status": null,
"downloads": 52341,
"followers": 1203,
"license": {
"id": "MIT",
"name": "MIT License",
"url": "https://opensource.org/licenses/MIT"
},
"published": "2023-03-15T10:30:00Z",
"updated": "2024-01-20T14:22:00Z",
"approved": "2023-03-15T12:00:00Z",
"queued": null,
"icon_url": "https://cdn.modrinth.com/data/AABBCCDD/icon.png",
"color": 8703084,
"thread_id": "TTUUVVWW",
"monetization_status": "monetized",
"issues_url": "https://github.com/my_user/my_project/issues",
"source_url": "https://github.com/my_user/my_project",
"wiki_url": null,
"discord_url": "https://discord.gg/AaBbCcDd",
"donation_urls": [
{
"id": "patreon",
"platform": "Patreon",
"url": "https://www.patreon.com/my_user"
}
],
"body_url": null,
"moderator_message": null,
"versions": ["IIJJKKLL", "QaRSSTT"],
"game_versions": ["1.19", "1.19.1", "1.19.2", "1.19.3"],
"loaders": ["forge", "fabric", "quilt"],
"gallery": [
{
"url": "https://cdn.modrinth.com/data/AABBCCDD/images/009b7d8d6e8bf04968a29421117c59b3efe2351a.png",
"featured": true,
"title": "My awesome screenshot!",
"description": "This awesome screenshot shows all of the blocks in my mod!",
"created": "2023-06-01T08:15:00Z",
"ordering": 0
}
]
}
请求 - 批量获取多个 project
curl -X GET "https://api.modrinth.com/v2/projects?ids=%5B%22AABBCCDD%22%2C%22my_project%22%5D"
URL 编码后的
ids参数值为["AABBCCDD","my_project"]。
响应
[
{ "...": "..." },
{ "...": "..." }
]
返回 Project 对象数组,每个对象结构与单个获取一致。