Skip to content
面向开发者 · 启动器中的整合包

目录作者 API

用于您的模组、整合包、地图和资源包的 mca_live_ 作者密钥:草稿、上传版本、页面、价格和销售统计。API 端点、密钥权限、请求示例、错误和限制。

更新于 2026年10月13日

作者在站点上对素材进行的所有操作,都可以通过您自己的脚本或构建流水线完成:创建草稿、上传新版本、编辑页面、修改价格、查看销售情况。为此,您需要一个作者密钥——形如 mca_live_… 的字符串。

密钥仅对您的素材有效:即您是作者的素材。即使知道地址,也无法用它操作他人的作品。

密钥

密钥在您的个人资料中的作者板块签发。为密钥命名并选择权限范围;密钥只显示一次——请将其保存到流水线的密钥管理中。如果丢失,请吊销并重新签发。您最多可以拥有十个有效密钥。修改密码或邮箱会吊销账户的所有密钥——之后请重新签发。

权限范围授予的操作
items:write创建草稿、确认作者身份、提交素材审核
versions:write获取上传地址并登记版本
page:write图片、页面草稿及提交审核
pricing:write素材价格
stats:read下载量、玩家数和销售情况

只给流水线它需要的东西:构建密钥通常只需 versions:write 和 stats:read。

所有端点都位于 https://api.millida.net/v2 下;密钥放在请求头中:

Authorization: Bearer mca_live_…

我的素材

GET /catalog/author-api/items
[
  {
    "slug": "my-pack",
    "type": "MODPACK",
    "title": "My modpack",
    "status": "PUBLISHED",
    "moderationStatus": "PUBLISHED",
    "pricing": "ONE_TIME",
    "priceKopecks": 49900,
    "versionsCount": 12,
    "downloads": 5310,
    "publicUrl": "/modpacks/my-pack"
  }
]

新素材

POST /catalog/author-api/items
{ "type": "MOD", "title": "My mod", "summary": "Briefly about the mod" }

素材会以草稿形式出现。地址(slug)取自名称;若地址已被占用,会返回 409 并建议一个可用地址。创建时的价格(pricing、priceKopecks)只有在密钥具有 pricing:write 权限范围时才能传入;否则响应为 403 MISSING_SCOPE。

新版本

1. 上传地址:

POST /catalog/author-api/items/my-pack/upload-url
{ "version": "1.4.0", "fileName": "my-pack-1.4.0.zip", "size": 734003200 }
{ "uploadUrl": "https://…", "storageKey": "catalog/packs/my-pack/…", "expiresIn": 3600 }

2. 上传文件,向 uploadUrl 发送 PUT 请求——直接上传到存储,不经过我们:

curl -X PUT --upload-file my-pack-1.4.0.zip "$UPLOAD_URL"

3. 登记版本:

POST /catalog/author-api/items/my-pack/versions
{
  "version": "1.4.0",
  "storageKey": "catalog/packs/my-pack/…",
  "gameVersions": ["1.20.1"],
  "loaders": ["fabric"],
  "loaderVersion": "0.16.0",
  "changelog": "New quests"
}

版本会进入自动审核,通过后对玩家可见。每次上传都是新文件:无法覆盖已发布的版本。

提交审核

新素材需经版主审核后才能进入目录。当素材至少有一个版本后,请确认作品属于您且您已选择许可证。这是一个单独的请求:提交审核不会替您完成这一步。

POST /catalog/author-api/items/my-pack/authorship
{ "ok": true }

然后提交素材:

POST /catalog/author-api/items/my-pack/submit
{ "ok": true, "status": "PENDING" }

未确认时,响应为 400“请确认整合包属于您且许可证由您选择”;没有版本时,响应为 400“请先上传整合包文件”。

页面

PUT /catalog/author-api/items/my-pack/page
{ "title": "My modpack", "summary": "…", "descriptionMd": "## What's inside\n…" }

这是草稿:在新页面通过审核之前,玩家看到的仍是旧页面。描述中的图片只能上传到我们这里;链接只能指向 Millida 页面。请先上传图标(iconUrl)、截图(gallery)和描述图片:

curl -H "Authorization: Bearer $MCA_KEY" -F "file=@icon.png" https://api.millida.net/v2/catalog/author-api/images
{ "url": "https://…/uploads/…/icon.png" }

支持 PNG、JPG、WebP 和 AVIF,最大 15 MB;不支持 GIF。上传需要 page:write 权限范围;响应中包含可放入页面的地址。提交审核:

POST /catalog/author-api/items/my-pack/page/submit

价格

PUT /catalog/author-api/items/my-pack/pricing
{ "pricing": "ONE_TIME", "priceKopecks": 49900 }
pricing含义
FREE免费
ONE_TIME一次性购买,永久访问
SUBSCRIPTION订阅,每月扣费一次
  • 金额以戈比为单位。付费素材的最低价格为 300 ₽(30000),皮肤和披风为 50 ₽(5000);最高为 100,000 ₽(10000000)。
  • 平台从每笔销售中抽取 30%;其余进入您的 Millida 钱包。
  • 销售所得可立即在 Millida 内消费,但提现需在购买后 7 天才能进行。
  • 只有拥有访问权限的人才能下载付费素材的文件。作为作者,您始终拥有访问权限。

统计

GET /catalog/author-api/items/my-pack/stats
{
  "versions": [{ "version": "1.4.0", "downloads": 312, "reviewStatus": "APPROVED" }],
  "players": { "players": 1204, "playersRecent": 380, "days": [{ "day": "2026-09-24", "players": 41 }] },
  "sales": {
    "totalKopecks": 998000,
    "netKopecks": 698600,
    "count": 20,
    "refundedCount": 0,
    "holdDays": 7,
    "last30d": [{ "day": "2026-09-24", "count": 3, "netKopecks": 104790 }]
  }
}

一次性查看所有素材的销售情况:

GET /catalog/author-api/sales

错误

错误响应始终包含 message——可以直接展示给用户——通常还包含 code——便于在脚本中分支处理。

状态码code发生了什么
401INVALID_KEY密钥缺失、格式错误或未找到
401REVOKED、EXPIRED密钥已被吊销或已过期
401OWNER_UNAVAILABLE密钥所属账户已被封禁
403MISSING_SCOPE密钥缺少所需的权限范围;列表在 scopes 中
404—素材不存在或不属于您
400PRICE_TOO_LOW、PRICE_TOO_HIGH、INVALID_PRICING价格超出规则;边界值在 minKopecks 和 maxKopecks 中
409UNDER_REVIEW素材正在版主审核中——请在其回复后再上传新文件
429—请求过多,请稍后重试

限制

  • 每个密钥每分钟 120 个请求。
  • 新素材——每小时 10 个,上传地址和版本——各每小时 30 个,页面编辑——每小时 120 次,图片——每小时 60 张,价格修改——每小时 60 次。